无法使用Pinterest API Oauth

时间:2015-09-30 16:24:31

标签: python api curl oauth pinterest

我正在尝试按照Pinterest API说明进行操作:https://developers.pinterest.com/docs/api/authentication/

我可以使用以下URL完成第一步,获取访问代码: https://api.pinterest.com/oauth/?response_type=code&redirect_uri=https://localhost/&client_id=XXXXXXXXXXXXX&client_secret=YYYYYYYYYYYYYYYYY&scope=read_public,write_public&state=myystatestring

这给了我代码:https://localhost/?code=ZZZZZZZZZZZZ&state=mystatestring

但是,当我尝试从文档中完成第二步时,'交换访问令牌的授权码' (使用帖子请求),我无法授权。使用此命令:

curl --data" grant_type = authorization_code& client_id = XXXXXXXXXXXXXXX& code = ZZZZZZZZZZZ" https://api.pinterest.com/v1/oauth/token

我明白了:

{" status":" failure"," code":3," host":" coreapp-devplatform- devapi-171"," generated_at":" Wed,30 Sep 2015 16:21:26 + 0000"," message":"授权失败。","数据":null}

我也试过在Python中使用请求库,但结果相同。我还注意到,在第一步中您可以更改代码'到#令牌'并获得包含' access_token ='的结果,但我无法交换或直接使用它进行访问。

非常感谢任何指导!

2 个答案:

答案 0 :(得分:3)

实际上,我现在已经看到昨天在这个问题上提出并回答了这个问题:Auth Exception in Pinterest API

“文档错误。您必须在此步骤(步骤2)中包含您的client_secret,而不是步骤1.所以将”& client_secret =“添加到postStr。 - Zack Argyle”

一旦我改为这就完美了:

curl --data“grant_type = authorization_code& client_id = XXXXXXXXXXXXXXX& code = ZZZZZZZZZZZ& client_secret = YYYYYYYYYYYYYYYYY”https://api.pinterest.com/v1/oauth/token

响应:

{“access_token”:“token_string_here”,“token_type”:“bearer”,“scope”:[“read_public”,“write_public”,“read_private”,“write_private”,“read_write_all”]}

谢谢扎克!

答案 1 :(得分:0)

我知道已经花了很多时间,但是第二个URL必须类似于https://api.pinterest.com/v1/oauth/token?grant_type=authorization_code&client_id=XXXXXXXXXXX&client_secret=XXXXXXXXXXXXX&code=XXXXXXXXXXXX

在原始帖子中,应用程序秘密丢失了