0

我正在嘗試使用RESTapi獲取Office 365帳戶中的個人日曆和共享日曆。由於目前Oauth2不支持訪問共享日曆,我正在使用基本授權測試我的代碼。具有基本授權的Office 365 REST API

我在我的帳戶中的三個日曆:

  1. [email protected](自己的日曆)
  2. [email protected](共享日曆)
  3. [email protected](共享日曆)

使用以下終點我是能夠得到基本的使用授權事件:

https://outlook.office365.com/ews/odata/Users('[email protected]')/活動

奇怪的部分是過去兩天我無法使用相同的終點獲取[email protected][email protected]的事件。當我嘗試訪問事件時,出現以下錯誤:

{「@ odata.context」:「https://outlook.office365.com/ews/odata/ $ metadata#Users('[email protected]')/ Events」,「value」:[{{ 「error」:{「code」:「ErrorInternalServerError」,「message」:「對象引用未設置爲對象實例。}}

但是我仍然可以訪問[email protected]使用相同的事件端點和基本認證。

我也嘗試使用oauth2訪問自己的日曆。我得到類似的錯誤

{ 「值」:[{ 「錯誤」:{ 「代碼」: 「ErrorInternalServerError」, 「消息」: 「未設置爲一個對象的實例對象引用。」}}

但我可以成功與日曆端點通話

我想知道是否有人曾經看到過這個錯誤。任何幫助/建議非常感謝。

回答

2

建議不要使用基本身份驗證,並且不支持生產使用。現在基本就是爲了簡化對API的探索,但將在未來某個時候停用。

就這麼說,你說你在使用OAuth2訪問自己的日曆時遇到了錯誤,是嗎?這聽起來像是一個間歇性問題,但沒有足夠的信息來確切知道發生了什麼。如果您仍然看到它,那麼add instrumentation headers對您的請求(User-Agent,client-request-id,return-client-request-id)會很好,並獲得請求響應的網絡跟蹤。

+0

嗨傑森,謝謝你的迴應。我會嘗試添加更多的頭文件來檢查請求響應。我使用基本身份驗證來測試我的代碼。 – Naveen

1

除了傑森的評論,請使用我們生產的終點,而不是https://outlook.office.com/api/v1.0我們的老預覽端點https://outlook.office365.com/ews/odata/的看到這個blog post瞭解更多詳情。

+0

嗨Venkat,謝謝你的迴應。我會將其更改爲生產網址。我還有一個問題 - 你知道何時使用Oauth2支持訪問共享日曆嗎?我找不到任何關於此的信息。 – Naveen

+0

還沒有。我們仍在努力增加支持,但沒有ETA。 –

0

這讓我很困惑。網絡上的所有內容都將指向您使用Office 365 API,但相信我,這不是您想要做的事情。您將需要使用Exchange API。 Office 365只是一臺Exchange服務器,因此您可以使用與自動化任何Exchange服務器相同的方式自動執行該服務器。這裏有示例代碼。這很簡單。

Consume Office 365 REST API Without UI

辦公室365 API僅僅是一個基於建築物UI應用程序,允許用戶輸入他們的Office 365憑據,並允許應用代表他們工作的工具集。