Первый раз, но я нашел много решений за эти годы, так что спасибо людям, которые предоставляют помощь.
Я пытаюсь отправить запрос GET с OAuth1.0 в API из Google-приложений-скрипт с несколькими параметрами с одинаковыми именами.
Есть ли способ сделать это с помощью библиотеки OAuth1? ( ссылка )
Мне удалось заставить его работать с одиночными именами параметров.
var get_documents_params = [
["Name","value"],
['OtherName','value'],
];
Следующий код с повторяющимся именем параметра выдает ошибку "Поставленная аутентификацияНедопустимая подпись ". API может получать те же параметры имени, что и мой запрос, когда используется почтальон
var service = getService();
var get_documents_params = [
["SameName","value1"],
['SameName','value2'],
];
var url = "https://the_API_url.com";
var query_params = '?';
query_params += encodeURIComponent(get_documents_params[0][0]) + '=' + encodeURIComponent(get_documents_params[0][1]) + '&';
query_params += encodeURIComponent(get_documents_params[1][0]) + '=' + encodeURIComponent(get_documents_params[1][1]);
var params = {
'method': 'GET',
'Accept':'application/json',
'muteHttpExceptions' : true
};
var response = service.fetch(url+query_params, params);
________
Logger.log(url+query_params);
// shows : "https://the_API_url.com?SameName=value1&SameName=value2"
_________
function getService() {
return OAuth1.createService('API_GET')
// Set the consumer key and secret.
.setConsumerKey(CONSUMER_KEY)
.setConsumerSecret(CONSUMER_SECRET)
.setAccessToken(TOKEN, TOKEN_SECRET);
}
Настройки почтальона
GET https://the_API_url.com?SameName=value1&SameName=value2
HTTP/1.1
Accept: application/json
Authorization: OAuth
oauth_consumer_key="consumer_key",oauth_token="consumer_token",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1572334760",oauth_nonce="XXXXX",oauth_version="1.0",oauth_signature="XXXXX"
User-Agent: PostmanRuntime/7.19.0
Cache-Control: no-cache
Postman-Token: XXXXXX
Host: the_API_url.com
Accept-Encoding: gzip, deflate
Cookie: ajs_anonymous_id=XXXXX; mp_a6b59f6f7db3f0bbdef2c0450a4b4694_mixpanel=%7B%22distinct_id%22%3A%20%2216d9174a2537c6-0ccd361fcb3648-6a40291d-1fa400-16d9174a25460e%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D
Connection: keep-alive
Я ожидаю получитьобъект JSon, как он работает при отправке запроса с однократным использованием имен параметров.