php - 无法将文件上传到共享点库 (Office 365),创建表单摘要时出错
问题描述
```` echo "<br/><br/>Generating Form Digest<br/>";
// Initialize curl for Getting the Form Digest
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, "https://xxxxxxxxxxxxxx.sharepoint.com/_api/contextinfo");
// Set curl Method
curl_setopt($ch, CURLOPT_POST, true);
// Set HTTP Header for POST request
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Length: 0',
'Accept : application/json;odata=verbose',
// 'Authorization: Bearer ' . $access_token,
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $url_client);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo "<br/> Result of API Context :<br/>";
print_r(json_decode($result));
curl_close($ch);
echo "<br/><br/><br/>Uploading File<br/>";
// API URL with the file attached
$api_URL =
"https://xxxxxxxxxxxxxxxxxxxxxxxxxx.sharepoint.com/_api/web/GetFolderByServerRelativeUrl
('Documents')/Files/add(url='uploads/{$_FILES["fileToUpload"]["name"]}',overwrite=true)";
echo $api_URL;
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $api_URL );
curl_setopt($ch, CURLOPT_POST, true);
// Set HTTP Header for POST request
// Set the headers in the curl object
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
// 'Content-Type: application/x-www-form-urlencoded',
"Authorization: Bearer {$json_result->access_token}",
"Content-Length: {$filesize}",
"X-HTTP-Method: MERGE",
//"X-RequestDigest:",
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
echo "<br/> RESULT OF Upload file CURL<br/> " ;
// Convert result to JSon
$json_result = json_decode($result);
// Print Json Result
print_r($json_result);
// Close CURL
curl_close($ch);````
我想要做的是创建一个 PHP 网页,它将一个文件作为一个 iput 并将其直接上传到一个 shrepoint 库我在执行此代码之前生成访问令牌我收到“404 未授权”错误生成表单摘要时,请帮助!
解决方案
推荐阅读
- php - 如何将 Laravel 项目设置为 cPanel?
- javascript - 如何仅返回使用猫鼬执行 save() 后创建的文档
- javascript - 动态jQuery UI对话框回调函数问题
- python - 模块的 Pycharm 错误文件夹
- java - JdbcTemplate 不返回正确的结果集。为什么?
- python - Python matplotlib:多折线图的数据标签
- c# - 当不同的游戏对象与不同的游戏对象发生碰撞时,有没有办法触发不同游戏对象的动画?
- function - toggleCase:只取回输入字符串的第一个字符
- flutter - 提供者更新变量,但旧值被传递给依赖它的函数
- python - 如何使用 matplotlib.gridspec 绘制不同方面的体素?