0

私の質問は、 R httr Linkedin API: Bad Request (HTTP 400)と密接に関連しています。

R を使用して MS Dataverse からデータを取得するために使用するアプリケーションを Azure AD にセットアップしました。API は初めてなので、最初に Postman でセットアップしました。Postman で自分のデータを取得することに成功しましたが、Scope パラメーターは必要ありませんでした。

Postman in 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)

これにより、ブラウザが開き、スコープが必要であるというエラーが表示されました。スコープの命名法を見つけるためにドキュメントを検索してきましたが、うまくいきませんでした。「ReadWrite.All」や「Files.ReadWrite.All」などのオプションをリストするやや周辺的なドキュメント( 12など)をいくつか見つけましたが、これらはスコープとは異なる権限であると理解しています。自分が何をしているのかわからないので、いくつか試してみました。

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.が、RI で次を取得します。

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.

上で同様の質問として引用したリンクから、スコープパラメーターがまだ不足していることを理解しています。しかし、MS Dataverse の Scope パラメータを取得する場所がわかりません。誰でもこれを手伝ってもらえますか?

4

1 に答える 1