我的问题与这个问题密切相关:R API:坏请求(HTTP 400)。
我在Azure AD中设置了一个应用程序,我希望使用R从MS获取数据,我对API很陌生,所以我首先在Postman中设置了它。我成功地获得了Postman中的数据,但它不需要范围参数。
我试图重现我在R邮递员里所做的事.
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”之类的选项,但我的理解是,这些权限与作用域不同。因为我不知道自己在做什么,所以我试了几个这样的方法:
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.从我上面引用的类似问题的链接来看,我知道我仍然缺少范围参数。但是,我不知道在哪里可以获得的范围参数。有人能帮忙吗?
发布于 2021-12-01 10:37:48
我不知道是否还有其他选项,但如果这对其他人有帮助,我可以通过将范围指定为Dynamic365URL和.default来实现。对我来说,这看起来像:https://org593dc393.crm4.dynamics.com/.default
https://stackoverflow.com/questions/70177769
复制相似问题