我想使用PHP访问skyDrive。 我想要检索文件和文件夹列表,下载,上传和删除文件。
我有一个microsoft开发者clientID和clientSecret。
有人能让我开始使用OAuth连接到skyDrive并使用API吗?
非常感谢!
答案 0 :(得分:13)
这实际上是一个非常广泛的问题。希望有些东西可以帮助你开始。
json_decode()
创建收到数据的地图。json_encode()
将其转换为JSON。Here is an interactive API you can try out live to see the responses.
Example (取自其他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执行您需要的不同类型的请求。 (Also this answer on SO has some good explanation on POST vs GET using cURL.)
删除文件:
要删除文件,请对/ FILE_ID发出DELETE请求。
上传文件:
要创建新的文件资源,您可以向/ FOLDER_ID /文件发出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的体验有限。我只能提供一些相关的链接和建议,希望对此有所帮助。
Review the Protocol Overview并考虑您是想自己实现某些内容,还是使用库。快速谷歌搜索给了我:
其他一些可能有用的链接和指南: