我想使用 PHP 访问 skyDrive。我想检索文件和文件夹列表,下载、上传和删除文件。
我有一个 microsoft dev clientID 和 clientSecret。
任何人都可以让我开始使用 OAuth 连接到 skyDrive 并使用 API 吗?
非常感谢!
这实际上是一个相当广泛的问题。希望这里有一些可以帮助您入门的东西。
json_decode()
创建接收数据的映射。json_encode()
并使用.示例 (取自其他 SO 答案):
$url = 'POST https://apis.live.net/v5.0/me/skydrive/files';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POSTFIELDS, array('access_token' => TOKEN, 'name' => 'file', 'filename' => "@HelloWorld.txt"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
请求类型:http: //msdn.microsoft.com/en-us/library/live/hh243648.aspx#http_verbs
我还建议您查看curl_setopt()
以更好地了解如何使用 cURL 执行您需要的不同类型的请求。(另外这个关于 SO 的答案对使用 cURL 的 POST 与 GET 有一些很好的解释。)
删除文件:
要删除文件,请向 /FILE_ID 发出 DELETE 请求。
上传文件:
要创建新的文件资源,您可以向 /FOLDER_ID/files 发出 POST 请求,向目标文件夹的 /UPLOAD_LOCATION 发出 POST 请求,或向 /FOLDER_ID/files/ 发出 PUT 请求。
下载文件:
要获取文件资源的属性,请向 /FILE_ID(目标文件 ID)发出 GET 请求。
检索文件列表:
要使用 Live Connect REST API 获取根文件夹资源,请向 /me/skydrive 或 /USER_ID/skydrive 发出 GET 请求。
要获取子文件夹资源,请向 /FOLDER_ID 发出 GET 请求。
创建文件夹:
要创建新的文件夹资源,请向 /FOLDER_ID 发出 POST 请求。在请求正文中传递名称和描述属性
删除文件夹:
要删除文件夹,请向 /FOLDER_ID 发出 DELETE 请求。
不幸的是,我在 OAuth 方面的经验有限。我只能提供一些相关的链接和建议,希望对您有所帮助。
查看协议概述并考虑是否要自己实现某些东西,或者使用库。快速谷歌搜索给了我:
其他一些可能有用的链接和指南: