Невозможно отправить файл в библиотеку sharepoint (Office 365), выдает ошибку при создании дайджеста формы - PullRequest
0 голосов
/ 14 июля 2020
````    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, которая будет принимать файл и загружать его напрямую в библиотеку shrepoint. Я генерирую токен доступа до того, как этот код будет выполнен. m появляется сообщение об ошибке «404 неавторизовано» при создании дайджеста формы, пожалуйста, помогите !!

...