我正在尝试按照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 ='的结果,但我无法交换或直接使用它进行访问。
非常感谢任何指导!
答案 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
在原始帖子中,应用程序秘密丢失了