2017-10-20 122 views
1

我正在開發Outlook Web插件。我正在使用REST API調用,使用Accesstoken將郵件從一個文件夾移動到另一個文件夾。在Outlook Web插件中刷新令牌

Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, 
    function (result) { 
     if (result.status === "succeeded") { 
      var accessToken = result.value; 

      // Use the access token 
      MoveMailItem(accessToken); 
     } else { 
      // Handle the error 
     } 
    }); 

無論如何刷新此令牌,以便我會再次調用此方法?

回答

0

沒有刷新令牌的方法,您只需在令牌到期後(他們有5分鐘的生命週期)請求新的令牌。

刷新令牌用於避免用戶需要重新輸入憑據。由於這不是getCallbackTokenAsync工作流程的一部分,因此在刷新令牌和檢索新令牌方面有任何好處。

+0

@Shyam,@Marc提到,沒有辦法刷新令牌。是否有一個原因,你想避免調用'getCallbackTokenAsync'?它是否會「中斷」您在代碼中的「MoveMailItem」調用? –

0

getCallbackTokenAsync()API將始終返回具有5分鐘有效性的標記。因此,如果有效期結束,加載項將不得不再次調用此API來獲取新令牌。

如果加載項實現SSO流,那麼加載項可以獲得一個訪問和刷新令牌作爲第一次登錄的一部分。每當有效期結束時,加載項可以使用刷新令牌來獲取新令牌。 https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code