私の質問は、 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」などのオプションをリストするやや周辺的なドキュメント( 1、2など)をいくつか見つけましたが、これらはスコープとは異なる権限であると理解しています。自分が何をしているのかわからないので、いくつか試してみました。
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 パラメータを取得する場所がわかりません。誰でもこれを手伝ってもらえますか?