Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PP_E_RPS_CERT_NOT_FOUND error when querying Outlook API

I am trying to retrieve the contents of my calendar using the Outlook REST API, but I am getting weird error responses.

The code is based on the example code supplied by Microsoft in https://github.com/microsoftgraph/php-connect-rest-sample

I have created an application and specified it want access to calendar.read and changed the scope in the testcode, Constants::SCOPE, to include this scope.

After succesfully retrieving a token I can verify that the application requests and sets the correct privileges. After that I try to retrieve the events in my calendar as described at the documentation: https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations#get-series-master-and-single-events-rest

I use the Advanced REST client add-on for Chrome to create a GET request with the following specs:

Url: https://outlook.office.com/api/v2.0/me/events Headers:

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

The response I get is a 401 status code with the following content for the X-Ms-Diagnostics header:

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"

The Www-Authenticate header specifies 'error="invalid_token"' while the token was just received.

Any idea what I am doing wrong?

like image 662
Timo Avatar asked Sep 11 '25 12:09

Timo


2 Answers

I think another thing you might be able to check out is the scope when you request the v2 endpoint. for V2 endpoint, the scope is different between Graph API and outlook api. you need to specify scope as "https://outlook.office.com/calendars.read" instead of Graph scope. I hope it will help.

like image 180
Verona Chen Avatar answered Sep 14 '25 17:09

Verona Chen


You need to just change the URL from https://outlook.office.com/api/v2.0/me/events to https://graph.microsoft.com/v1.0/me/events

like image 31
jagadish Avatar answered Sep 14 '25 15:09

jagadish