Как мне отформатировать мои заголовки для запроса API, используя Javscript? - PullRequest
1 голос
/ 27 февраля 2020

Я пытаюсь использовать API Discogs , который имеет следующие требования:

Content-Type: application/x-www-form-urlencoded
Authorization:
        OAuth oauth_consumer_key="your_consumer_key",
        oauth_nonce="random_string_or_timestamp",
        oauth_signature="your_consumer_secret&",
        oauth_signature_method="PLAINTEXT",
        oauth_timestamp="current_timestamp",
        oauth_callback="your_callback"
User-Agent: some_user_agent

Я только учусь Javascript и буду использовать fetch . В этой документации объясняется, как правильно ее использовать, включая добавление заголовка. Мой вопрос: как мне отформатировать соответствующие требования Discogs?

Вот где я застреваю:

const discogs_headers = {
            "Content-Type": "application/x-www-form-urlencoded",
            ...
        }

Как добавить следующие слова в этот словарь?

Authorization:
        OAuth oauth_consumer_key="your_consumer_key",
        oauth_nonce="random_string_or_timestamp",
        oauth_signature="your_consumer_secret&",
        oauth_signature_method="PLAINTEXT",
        oauth_timestamp="current_timestamp",
        oauth_callback="your_callback"

Я попробовал это, и это не работает правильно:

const discogs_headers = {
                "Content-Type": "application/x-www-form-urlencoded",
                "Authorization": "OAuth oauth_consumer_key="your_consumer_key", oauth_nonce="random_string_or_timestamp",...
            }

Примечание: я на самом деле заполняю информацию о моих приложениях там, просто используя записи документа с целью этот вопрос. Я прошу прощения, если это плохо сформулировано. Пожалуйста, не стесняйтесь спрашивать, могу ли я добавить что-нибудь для ясности.

Спасибо за ваше время.

1 Ответ

1 голос
/ 27 февраля 2020

Вы можете использовать шаблонные литералы в части Authorization следующим образом (сокращенно для простоты).

const consumerKey = 'your_consumer_key';
const nonce = 'random_string_or_timestamp';

// ...
const discogs_headers = {
  'Content-Type': "application/x-www-form-urlencoded",
  Authorization: `OAuth oauth_consumer_key="${consumerKey}", oauth_nonce="${nonce}"`
};

console.log(discogs_headers);

Где, очевидно, consumerKey, nonce и др. c. значения, связанные с вашим приложением. Опять же, весь заголовок Authorization не был заполнен в этом ответе, но суть его в этом.

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