我正在尝试使用Python client for Instagram API,并在将令牌传递给InstagramAPI构造函数时输入有效的访问令牌和用户ID(是的,我正在使用我的访问令牌和用户ID运行代码插入,但遗漏了发布问题):
from instagram.client import InstagramAPI
access_token = "YOUR_ACCESS_TOKEN"
api = InstagramAPI(access_token=access_token)
recent_media, next_ = api.user_recent_media(user_id="userid", count=10)
for media in recent_media:
print media.caption.text
但是在终端我一直收到这个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/bind.py", line 196, in _call
return method.execute()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/bind.py", line 182, in execute
include_secret=self.include_secret)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/oauth2.py", line 224, in prepare_request
url = self._full_url_with_params(path, params, include_secret)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/oauth2.py", line 148, in _full_url_with_params
self._full_query_with_params(params) +
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/oauth2.py", line 144, in _full_url
self._signed_request(path, {}, include_signed_request, include_secret))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/oauth2.py", line 172, in _signed_request
return "&sig=%s" % self._generate_sig(path, params, self.api.client_secret)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/instagram/oauth2.py", line 127, in _generate_sig
return hmac.new(secret, sig, sha256).hexdigest()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hmac.py", line 136, in new
return HMAC(key, msg, digestmod)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hmac.py", line 71, in __init__
if len(key) > blocksize:
TypeError: object of type 'NoneType' has no len()
有关如何调试此错误的任何建议?具体来说,这个错误的可能来源是什么?
TypeError: object of type 'NoneType' has no len()
答案 0 :(得分:2)
您正面临一个错误,因为github上的doc(自述文件)不是最新的。请仔细阅读此问题以找到解决方案
Missing argument for InstagramAPI object instance
OAuth Signing is broken in 1.3.1
你的代码应该是:
from instagram.client import InstagramAPI
access_token = "YOUR_ACCESS_TOKEN"
client_secret = "YOUR_CLIENT_SECRET"
api = InstagramAPI(client_secret=client_secret, access_token=access_token)