R httr MS Dataverse API:错误请求(HTTP 400),定义范围



我的问题与以下问题密切相关:R httr Linkedin API:错误请求(HTTP 400(。

我在Azure AD中设置了一个应用程序,我想用它来使用R从MS Dataverse中获取数据。我是API的新手,所以我首先在Postman中设置了它。我在Postman中成功地获取了我的数据,但它不需要Scope参数。

我试图重现我在R…的Postman中所做的事情

require(rvest)
dataverse_api = oauth_endpoint(request = NULL, 
authorize = "REDACTED",
access = "REDACTED",
base_url = "REDACTED")
API.Key = "REDACTED"
API.Secret = "REDACTED"
App = oauth_app("EPS Project Development", key = API.Key, secret = API.Secret)
API.token = oauth2.0_token(dataverse_api, App)

这导致我的浏览器打开,并给我一个错误,说需要一个作用域。我一直在文档中搜索范围的命名法,但一直没有成功。我已经发现了一些有点外围的文档(1、2等(,它们列出了诸如";ReadWrite.All";或";Files.ReadWrite.All";,但我的理解是,这些权限与Scope不同。因为我不知道自己在做什么,我试了几个这样的:

require(rvest)
dataverse_api = oauth_endpoint(request = NULL, 
authorize = "REDACTED",
access = "REDACTED",
base_url = "REDACTED")
API.Key = "REDACTED"
API.Secret = "REDACTED"
App = oauth_app("EPS Project Development", key = API.Key, secret = API.Secret)
API.token = oauth2.0_token(dataverse_api, App, scope = "User_impersonation")

结果总是一样的。浏览器打开时显示消息Authentication complete. Please close this page and return to R.,但在R中我得到:

Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.
Error in oauth2.0_access_token(endpoint, app, code = code, user_params = user_params,  : 
Bad Request (HTTP 400). Failed to get an access token.

从我上面引用的类似问题的链接中,我了解到我仍然缺少Scope参数。但我不知道在哪里可以获得MS Dataverse的Scope参数。有人能帮忙吗?

我不知道是否还有其他选项,但如果这对其他人有帮助,我可以通过将作用域指定为Dynamics 365 URL,后跟.default来实现。对我来说,这看起来像:https://org593dc393.crm4.dynamics.com/.default

相关内容

  • 没有找到相关文章

最新更新