我想在https://docs.microsoft.com/zh-cn/previous-versions/office/office-365-api/api/version-2.0/task-rest-operations
中使用Microsoft Task API。我知道如果我想请求api,我应该使用OAuth2。这是我的OAuth步骤:
步骤1:在azure中注册应用程序并配置重定向uri,然后我可以获取client_id并新建一个客户端密码。
步骤2:获取https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<client_id>&redirect_uri=http://localhost:8080&response_type=code&scope=Tasks.Read
。现在我可以从重定向uri参数获取代码:http://localhost:8080/?code=Mfcae1736-738e-3aff-2de6-7a6d72308feb#/login
第3步:使用参数进行POST https://login.microsoftonline.com/common/oauth2/v2.0/token
,如下所示:
步骤4:从步骤3我可以获取access_token(但这不是jwt令牌,为什么?),因此我可以通过access_token获取任务。
现在有问题,请求返回错误,但是我不知道为什么,也不在哪里找到正确的文档以及如何修复它。
{"error":{"code":"InvalidMsaTicket","message":"ErrorCode: 'PP_E_RPS_CERT_NOT_FOUND'. Message: ' Internal error:
spRPSTicket->ProcessToken failed. Failed to call CRPSDataCryptImpl::UnpackData: Internal error: Failed to decrypt data.
:Failed to get session key. RecipientId=293577. spCache->GetCacheItem returns error.:Cert Name: (null). SKI:
3bd72187c709b1c40b994f8b496a5b9ebd2f9b0c...'","innerError":{"requestId":"c6cec9b3-091f-439d-8e01-5489eef2b776","date":"2019-09-24T03:27:02"}}}