我有一個使用adal-node(https://www.npmjs.com/package/adal-node)通過OAuth2向Dynamics CRM進行身份驗證的nodejs項目。我已成功獲得authorizationUrl,然後發佈代碼以獲取accessToken。但是,這最後一個響應不會返回instanceUrl。因此,我一直在網上搜索MSDN頁面,瞭解如何使用accessToken獲取正確的組織實例Uri。我試過這個(https://msdn.microsoft.com/en-us/library/mt607485.aspx),只是得到了401個「授權已被拒絕」的迴應。也許我不正確地格式化這個請求?有人可以親切地指導我一些關於如何使用我已經獲得的有效訪問令牌來檢索該用戶的組織實例Uri的文檔嗎?謝謝。使用accessToken獲取Dynamics組織Uri
回答
根據在https://msdn.microsoft.com/en-us/library/mt607485.aspx說明,要求對到https://globaldisco.crm.dynamics.com/api/discovery/v1.0/Instances(UniqueName='myorg')
,您需要更換myorg
你自己unique name
動態CRM服務器的。
您可以參考https://www.dynamics-pros.com/support/kb/kb102033瞭解如何獲取唯一的名稱。
是的,我明顯嘗試使用我的獨特名稱。另外,如上所述,我嘗試過沒有UniqueName,並得到「授權已拒絕此請求」錯誤。想法? – user3287495
[截圖](https://s15.postimg.org/450z847tn/2016_12_01_09_29_25_am.png) – user3287495
最近經歷過這個問題,我認爲您可能遇到的問題是請求身份驗證令牌時請求訪問的資源不正確。雖然你會認爲它會是https://globaldisco.crm.dynamics.com/,但我確實已成功使用https://disco.crm.dynamics.com/(確保包含試用斜槓)作爲資源。
如果您的令牌被拒絕,請查看響應頭中的WWW-Authenticate屬性,它將指示您應該請求的資源。與此相似:
Bearer authorization_uri=https://login.windows.net/common/oauth2/authorize, resource_id=https://disco.crm3.dynamics.com/
獲得正確的資源,我能夠查詢全局迪斯科服務沒有問題,即使給予NA迪斯科資源後返回從各地區的情況。這對Azure AD租戶的工作起源於NA以及英國。
我已經在博客這裏全樣本 - http://colinvermander.com/2017/01/19/calling-the-dynamics-global-discovery-service/
這應該被標記爲答案。我試圖使用爲crm url資源獲取的訪問令牌訪問全局發現服務。將資源更改爲https://disco.crm.dynamics.com/以檢索訪問令牌,現在我能夠成功訪問全局發現服務。謝謝! – anderly
- 1. 使用LinkedIn從LinkedIn獲取AccessToken
- 2. Google oauth2使用javascript獲取accessToken
- 3. 組織URI段的笨
- 4. Dynamics CRM 2013組織導入失敗
- 5. 重命名Dynamics CRM組織名稱
- 6. 如何獲取Facebook AccessToken?
- 7. 用Java登錄Facebook獲取用戶accessToken
- 8. Facebook的C#SDK獲取用戶accessToken
- 9. Liferay的:獲取組織ID爲頂級組織
- 10. Android Foursquare accessToken:如何從內部類獲取accessToken?
- 11. 獲取URI VAR
- 12. 獲取URI
- 13. 如何獲得的accessToken使用JavaScript的
- 14. Trello API - 使用ID獲取組織的董事會
- 15. 獲取組織AD使用powershell的職位
- 16. 使用org-element-map獲取組織模式元素的文本
- 17. 使用Google Apps Admin SDK獲取組織的域名列表?
- 18. 使用vba獲取展望組織團隊層次結構
- 19. 使用PrettyFaces獲取原始請求URI
- 20. 使用Uri獲取Exif數據
- 21. 使用Uri獲取文件的路徑
- 22. 如何使用Phantomjs獲取URI
- 23. 從域名獲取組織名稱
- 24. 獲取我組織的活動
- 25. 從VBA獲取組織單位
- 26. 獲取有關GH-頁新組織404
- 27. 獲取公司的組織領域?
- 28. Liferay 7 ADT - 獲取組織徽標
- 29. Google API獲取公司/組織名稱
- 30. 使用已在googledrive api中檢索到的refreshtoken獲取新accesstoken
當我做這個GET https://globaldisco.crm.dynamics.com/api/discovery/v1.0/Instances我得到一個「授權已被拒絕對於這個請求「(JSON)。但是,當我這樣做GET https://globaldisco.crm.dynamics.com/api/discovery/v1.0/Instances(UniqueName='myorg')我得到「服務器錯誤」的響應在HTML中。 – user3287495