我正在关注Instagram的instruction以了解如何获取access_token。
我坚持第3步。我尝试使用curl和python脚本进行连接,但都失败了。
这是我的卷曲代码:
curl -F 'client_id=MY_CLIENT_ID’ \
-F 'client_secret=MY_CLIENT_SECRET’ \
-F 'grant_type=authorization_code’ \
-F 'redirect_uri=http://localhost' \
-F 'code=MY_CODE' \
https://api.instagram.com/oauth/access_token
返回显示如下
curl: (6) Couldn't resolve host ' '
curl: (6) Couldn't resolve host ' '
curl: (6) Couldn't resolve host ' '
curl: (1) Protocol " https" not supported or disabled in libcurl
但我已经使用了curl ssl
。
然后我尝试了python,这里是代码(感谢@avinash向我展示了单引号问题,但仍然失败了)
url = 'https://api.instagram.com/oauth/access_token'
values = {
"client_id" : "MY_CLIENT_ID",
"client_secret" : "MY_CLIENT_SECRET",
"grant_type" : "authorization_code",
"redirect_uri" : "http://localhost",
"code" : "MY_CODE"
}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
得到错误urllib2.HTTPError: HTTP Error 400: BAD REQUEST
。
任何人都可以帮我弄清楚这里有什么问题吗?谢谢!
答案 0 :(得分:0)
你可以看一下这个article。它解释了你可能试图将值作为json字符串发送,而不是作为转换为字符串的字典。 如果是这种情况,请用双引号替换所有单引号
values = {
"client_id" : "MY_CLIENT_ID",
"client_secret" : "MY_CLIENT_SECRET",
"grant_type" : "authorization_code",
"redirect_uri" : "http://localhost",
"code" : "MY_CODE"
}