我想在SkyDrive api PHP中进行脱机身份验证,只想提供client_id,client_secret_key以及访问或刷新令牌,这可能是优选的,而不是在此基础上验证我。在成功离线登录后,在SkyDrive中创建一个文件夹(OneDrive )并在创建的文件夹中上传文件。
如何在不登录的情况下自动刷新访问令牌。
如果有人对此有所了解,请帮助我。
答案 0 :(得分:2)
最后我明白了,
请使用以下来源,它对我有用 https://github.com/lovattj/php-skydrive
在下面的文件中非常有用 https://github.com/lovattj/php-skydrive/blob/master/src/functions.inc.php
我改变了卷曲功能,这对我有用
例如
我在下面替换了curl_get函数,它对我有用
protected function curl_get($uri, $json_decode_output="true", $expected_status_code="HTTP/1.1 200 OK") {
try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
//curl_setopt($ch, CURLOPT_HEADER, true); // we want headers
//curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
} catch (Exception $e){}
if ($httpcode == "201" || $httpcode == "200") {
return json_decode($result, true);
} else {
return array('error' => 'HTTP status code not expected - got ', 'description' => $httpcode);
}
var_dump(json_decode($result));
}