Как получить ключ ответа в URL, Google Apps Script - PullRequest
1 голос
/ 16 октября 2019

Мне нужно получить разрешение на доступ к определенному URL, но перед этим мне нужно получить responseKey, и способ получить responseKey - получить доступ к этому URL в браузере: https://api.getgo.com/oauth/v2/authorize?client_id={consumerKey}&response_type=code. После доступа к нему в ответе содержится ключ, что мне нужно. Это будет выглядеть примерно так: http://example.com/oauthreturn/?code={responseKey}. Вопрос в том, как я могу получить код responseKey в google-apps-scrpits. Вот что я написал:

function myFunction() {
  var client_id='xxxxxxxxxxxxxxxxx'
  var url ="https://api.getgo.com/oauth/v2/authorize?client_id="+client_id+"&response_type=code";
  var resp =  UrlFetchApp.fetch(url)
}

но я получаю ответ HTML-кода

1 Ответ

3 голосов
/ 16 октября 2019

В вашем коде var resp = UrlFetchApp.fetch(url) создаст HTTPResponse объект. Во-первых, вы захотите узнать, является ли код ответа 200 OK. Чтобы собрать эту информацию, вы должны использовать getResponseCode() и проверить, равняется ли она 200. Если это так, то вы должны разобрать код. Для этого вы можете сначала использовать getContentText(), а затем parse(). Примером реализации, совместимой с вашим кодом, может быть такая:

if (resp.getResponseCode() == 200) {
  var results = JSON.parse(resp.getContentText());
}

Затем вы можете получить доступ к данным, относящимся к этой переменной и названию параметра. Например, вы можете использовать results.code, results.token… Если это объяснение не проясняет ваш вопрос, пожалуйста, попросите меня еще раз для получения дополнительной помощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...