重新创建步骤需要:
步骤1:使用授权应用程序的Azure客户端ID替换“ MY_CLIENT_ID”。
步骤2:在网络浏览器地址栏中输入URL。
[步骤3:继续授权应用程序使用现有的Azure帐户阅读电子邮件。 (浏览器网址将更改为带有OAuth代码的网址。)
步骤4:复制OAuth代码。
步骤5:在下面的CURL命令中:
curl -X POST -H "content-type: application/x-www-form-urlencoded" -d "grant_type=authorization_code&code=MY_OAUTH_CODE&redirect_uri=http%3A%2F%2Flocalhost%3A12345&client_id=MY_CLIENT_ID&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read&client_secret=MY_CLIENT_SECRET" "https://login.microsoftonline.com/common/oauth2/token"
[步骤6:在命令控制台中输入CURL命令。 (将返回有效的请求令牌。)
步骤7:将下面CURL命令中的“ MY_REQUEST_TOKEN”替换为请求令牌,然后在命令控制台中执行该命令。
curl -H "Authorization: Bearer MY_REQUEST_TOKEN" "https://graph.microsoft.com/v1.0/me/"
注意,已返回基本帐户信息-表示令牌有效。
步骤8:将下面CURL命令中的“ MY_REQUEST_TOKEN”替换为请求令牌,然后在命令控制台中执行该命令。
curl -H "Authorization: Bearer MY_REQUEST_TOKEN" "https://graph.microsoft.com/v1.0/me/messages"
返回此错误:
{
"error": {
"code": "ResourceNotFound",
"message": "Resource could not be discovered.",
}
}
由于您正在尝试阅读邮件,请使用必需的权限(即Mail.ReadBasic,Mail.Read。)设置对已注册应用的权限。>
查看文档,这是客户端类代码:https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph/Requests/Generated/GraphServiceClient.cs
这里是一个例子:
private static GraphServiceClient GetClient(string accessToken, IHttpProvider provider = null)
{
var delegateAuthProvider = new DelegateAuthenticationProvider((requestMessage) =>
{
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
return Task.FromResult(0);
});
var graphClient = new GraphServiceClient(delegateAuthProvider, provider ?? HttpProvider);
return graphClient;
}