Получить токен для Sabre API в R - PullRequest
0 голосов
/ 08 мая 2018

Как можно получить токен для Sabre API в R аналогично этому посту здесь для python: Как мне выполнить oauth2 для Sabre Dev Network с использованием python?

Насколько я понимаю, мне нужно использовать процесс проверки OAuth2. Для R я нашел пакет httr с этой функцией oauth2.0_token здесь , но я не могу ввести правильные параметры для получения токена.

Пока мой код:

library(base64enc)
library(base64)

clientID <- "V1:userid:group:domain" #Example clientID
clientIDRaw <- charToRaw(clientID)
clientIDEnc <- base64encode(clientIDRaw)

password <- "12345" #Example password
passwordRaw <- charToRaw(password)
passwordEnc<- base64encode(passwordRaw)

combined <- paste(clientIDEnc, ":", passwordEnc, sep="")
combinedRaw <- charToRaw(combined)
combinedEnc <- base64encode(combinedRaw)

С помощью переменной combinedEnc я смогу получить свой токен?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Это запрос, который вы ищете в соответствии с вашими разъяснениями в комментариях

 curl -X POST \
  https://api.sabre.com/v2/auth/token \
  -H 'Accept: */*' \
  -H 'Authorization: Basic 
Your combinedEnc' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Postman-Token: XXX-edcb-4b2a-aa3d-XXXX' \
  -d grant_type=client_credentials
0 голосов
/ 15 мая 2018

Я не знаю R, поэтому я не знаю, что конкретно делает convertToRaw, но я проверил приведенный ниже код по следующей ссылке, и он заработал: https://www.rdocumentation.org/packages/caTools/versions/1.17.1/topics/base64encode%20%26%20base64decode

user = "V1:userid:group:domain"
print(user)

userEnc = base64encode(user)
print(userEnc)

password = "password"
print(password)

passwordEnc = base64encode(password)
print(passwordEnc)

credentials = paste(userEnc, passwordEnc, sep=":")
print(credentials)

credentialsEnc = base64encode(credentials)
print(credentialsEnc)

Если эти шаги работают должным образом, то обратите внимание на комментарий Томаса (в частности, тест в Postman) или добавьте фактическую ошибку, которую вы получаете.

...