PP_E_RPS_CERT_NOT_FOUND ошибка при запросе Outlook API

Я пытаюсь получить содержимое моего календаря с помощью Outlook REST API, но получаю странные сообщения об ошибках.

Код основан на примере кода, предоставленного Microsoft в https://github.com/microsoftgraph/php-connect-rest-sample

Я создал приложение и указал, что он хочет получить доступ к calendar.read и изменил область в тест-коде, Constants::SCOPE, чтобы включить эту сферу.

После успешного получения токена я могу убедиться, что приложение запрашивает и устанавливает правильные привилегии. После этого я пытаюсь получить события в моем календаре, как описано в документации: https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations#get-series-master-and-single-events-rest

Я использую надстройку клиента Advanced REST для Chrome, чтобы создать запрос GET со следующими характеристиками:

Адрес: https://outlook.office.com/api/v2.0/me/events
Заголовки:

Authorization: Bearer [token] Prefer: outlook.timezone=Europe/Berlin

Ответ, который я получаю, представляет собой код состояния 401 со следующим содержанием для X-Ms-Diagnostics заголовок:

2000010;reason="ErrorCode: 'PP_E_RPS_CERT_NOT_FOUND'. Message: 'Certificate cannot be found. Certificate required for the operation cannot be found.%0d%0a Internal error: spRPSTicket->ProcessToken failed. Failed to call CRPSDataCryptImpl::UnpackData:Certificate cannot be found. Certificate required for the operation cannot be found.%0d%0a Internal error: Failed to decrypt data. :Failed to get session key. RecipientId=293577. spCache->GetCacheItem returns error.:Cert Name: (null). SKI: d6c3dacffd2b3fba2fb3d6c2b0fcd78680a3acd1...'";error_category="invalid_msa_ticket"

Www-Authenticate заголовок указывает ‘error = «invalid_token»‘, в то время как токен был только что получен.

Есть идеи, что я делаю не так?

3

Решение

Я думаю, что еще одна вещь, которую вы можете проверить, это область действия, когда вы запрашиваете конечную точку v2. для конечной точки V2 область применения API Graph и Outlook API различна. вам нужно указать область какhttps://outlook.office.com/calendars.read«вместо области действия графика.
Надеюсь, это поможет.

1

Другие решения

По сути, сообщение означает, что знак вы пытаетесь использовать не подходит для операции.

Я прошел через это. Вот как я решил:

  1. Я использую предложенные области действия здесь (я создавал событие): https://msdn.microsoft.com/office/office365/APi/calendar-rest-operations#create-events

  2. Чтобы получить код авторизации, я использовал эту схему URL:
    https://login.live.com/oauth20_authorize.srf?client_id=[YourClientID]&Объем = [ScopeYouNeed]&response_type = код&redirect_uri = [YourRedirectURI]

Тогда я получаю обновления & токен доступа. И теперь это работает!

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector