将文件保存到OneDrive以获得商业/ Office365

时间:2017-11-22 00:25:28

标签: php web-applications onedrive

所以场景如下: 用户已连接到数据源,数据源是按计划提取数据的。 数据将存储在用户拥有的onedrive版本中 - 可以是专业版或onedrive bisness / office365。

所以我们的想法是由cron按计划将数据从数据提供者移动到数据存储(Onedrive个人/商业)。

我为个人管理这个,但是对于商业而言,它仅适用于我自己的域名 - 如果客户注册并希望连接他/她的办公室365,则会失败。

Q1什么是用于PHP的最佳api lib? Q2除登录外还有其他任何差异

BR, Ditlev

如果有专家愿意帮助我,那么一些时间会受到很大关注。 感谢。

1 个答案:

答案 0 :(得分:0)

通过传递此url->

获取令牌

https://login.microsoftonline.com/common/oauth2/authorize?client_id=&response_type=code&redirect_uri=your-redirect-url&resource=https://graph.microsoft.com&client_secret=

通过POST方法使用代码获取accessstoken 网址:https://login.microsoftonline.com/common/oauth2/token/ 要发布的数据:client_id =& code ="您从上一个请求获得的代码"& grant_type = authorization_code& redirect_uri =& resource = https://graph.microsoft.com&client_secret=&scope=Files.ReadWrite.All,Sites.ReadWrite.All,Web.Manage& ;内容类型=应用程序/ x-WWW窗体-urlencoded

从数组中获取令牌。这是您的身份验证令牌。

将文件上传到onedrive - >

你需要使用put方法上传文件。

url:https://graph.microsoft.com/v1.0/me/drive/root:/foldername/filename:/content

传递此标头:$ headers = array(                         '内容类型:应用程序/文字',                         "缓存控制:无缓存",                         " Pragma:no-cache",                         "授权:bearer"。$ token                 );

并通过file_get_contents传递文件中的数据。