Проверка подлинности OAuth2 с использованием R с использованием httr - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь прочитать некоторые данные из Polar Accesslink API. Я прочитал их документацию и примеры (Python, не очень знаком с ним), а также примеры / демонстрации httr Oauth2.0:

https://www.polar.com/accesslink-api/#polar -accesslink-api

https://github.com/polarofficial/accesslink-example-python

Вот мой код:

library(httr)

client_id <- rstudioapi::askForPassword()

client_secret <- rstudioapi::askForPassword()

# redirect_uri determined in registration to http://localhost:1410/

app <- oauth_app(appname = "polar_app",
                 key = client_id,
                 secret = client_secret)

endpoint <- oauth_endpoint(
  request = NULL,
  authorize = "https://flow.polar.com/oauth2/authorization",
  access = "https://polarremote.com/v2/oauth2/token")


token <- oauth2.0_token(endpoint = endpoint,
                        app = app,
                        scope = "accesslink.read_all", # tested also without scope
                        use_basic_auth = T # tested both T and F
                        )

Последняя часть кода (токен) выдает следующую ошибку:

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.

Он открывает браузер с url localhost: 1410 /? State = {STATE} & code = {CODE} и говорит:

"Аутентификация завершена. Пожалуйста, закройте эту страницу и вернитесь к R."

Основываясь на документации API и примерах github Python, я не могу понять, нужно ли мне устанавливать некоторые значения для user_params или query_authorize_extra в oauth2.0_token.

...