OneDrive for Business教程(此处:https://dev.onedrive.com/auth/aad_oauth.htm)
但是,我不希望用户必须登录,因为我正在构建一个Web API - 我希望该应用程序能够登录。所以,我已经按照服务认证教程(这里:https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx)来获取访问令牌。
但是,当我尝试使用该服务进行身份验证时,我收到错误消息“不支持的应用程序仅令牌”。我正在使用的代码如下(顺便说一下,我正在使用RestSharp):
public string GetAccessToken()
{
var client = new RestClient("https://login.microsoftonline.com/<tenant>/oauth2");
var request = new RestRequest("token", Method.POST);
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", <client_id>);
request.AddParameter("client_secret", <client_secert);
request.AddParameter("resource", "https://<tenant>-my.sharepoint.com/");
var response = client.Execute(request);
var content = response.Content;
var authModel = JsonConvert.DeserializeObject<AuthResponseModel>(content);
return authModel.AccessToken;
}
这会让我获得访问令牌
这是我尝试访问我的驱动器的方式:
public string GetDrive()
{
var accessToken = GetAccessToken();
var client = new RestClient("https://<tenant>-my.sharepoint.com/_api/v2.0/");
var request = new RestRequest("drive", Method.GET);
request.AddHeader("Authorization: Bearer", accessToken);
var response = client.Execute(request);
var content = response.Content;
return content;
}
有没有人有任何提示?这有点令人抓狂。