2017-02-24 107 views
1

我試圖訪問我的客戶(以後也是OneDrive業務,但僅限於開始時只是常規)OneDrive文件。我從azuread端點開始,因爲它可以用於廣告和Hotmail /實時帳戶。我用我的微軟真實帳戶註冊了一個應用(不是業務),並使用Django和social-auth設置了一切。登錄正在工作我用同一個真實帳戶嘗試過它,並在社交身份驗證中獲得訪問令牌。當我嘗試使用郵遞員和令牌訪問文件時,出現錯誤: CompactToken解析失敗 作爲響應。所以我對使用微軟圖形API獲取客戶OneDrive文件感到困惑。 這是正確的終點,還是不應該使用azuread,而是直播?我需要一個商業帳戶來註冊應用程序嗎? 什麼是正確的方式來讓它工作? Microsoft API架構非常複雜。可能它有它的優勢,但在我掌握之後。 在此先感謝 如果您需要更多信息,請讓我知道訪問客戶的OneDrive和OneDrive業務文件

回答

1

您在正確的道路上,但它可能會將您的令牌發送到錯誤的端點。由於您的令牌用於MS Graph,因此請確保將令牌發送給MS Graph的OneDrive端點。該文檔是here

現在就Azure AD和MSA(Microsoft Live Accounts)之間的差異而言,存在一些關鍵差異。從根本上講,這是用戶可能擁有的兩種不同身份。有一個名爲Azure AD v2.0的新融合端點支持AAD + MSA。對於代碼示例,請檢出this link

+0

你幾乎是正確的,我把它發送到正確的OneDrive端點,但我得到的令牌來自錯誤的端點。 必須在設置中設置SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE ='https://graph.microsoft.com/'才能使用正確的設置 – user3125470