0

作为一个初学者,我在使用 Ajax (with Discogs API) 时遇到了一些问题.. 获取 discogs 请求令牌,discogs 说

Include the following headers with your request:
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

https://www.discogs.com/developers#page:authentication,header:authentication-discogs-auth-flow

但是,如何写这个标题?下面是我尝试的代码,但我知道这是不合适的。

$.ajax({
    type: "GET",
    url: "https://api.discogs.com/oauth/request_token",
    dataType: 'jsonp',
    headers: {
        ContentType: "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",
        UserAgent: some_user_agent,
    }
    success: function (data) {
        console.log(data);
        document.getElementById("content").innerHTML += "<br>" + `${data}`;
    },
    error: function (error) {
        console.log(error);
    }
});
4

1 回答 1

0

你说:

dataType: 'jsonp',

无法为 JSONP 请求指定标头。

API 不能使用 JSONP。将 dataType 设置为他们使用的格式。


文档说:

当您创建一个新应用程序时,您将获得一个使用者密钥和使用者秘密,您可以将其插入您的应用程序并开始发出经过身份验证的请求。不要向任何人透露消费者秘密,这一点很重要。

将这些放在您的客户端代码中会将它们披露给您的所有访问者。

对那个端点的请求应该从服务器端代码发出。

于 2020-10-01T10:41:08.490 回答