我问这个问题已经没有想法了 - 我以为我在做一些愚蠢的事情,但即使我是,我也无法弄清楚是什么......我是Python的新手,10年前就远离了编码,但我是合理的精通一次:-D 我编写了一个 python 脚本来查询 google CSE 并搜索相关项目,其想法是它将检查 Podio 材料列表以查看它们是否已在那里列出。因此,目前我想做的就是通过 Podio 进行身份验证并获取项目,以便我可以在我的应用程序中查询它们。我正在尝试使用文档中规定的方法连接到 Podio API(以及此处的问题以及我看过的其他地方)此时,除了用实际字符串替换的凭据之外,该脚本实际上所做的所有事情都是这样,以防万一我错过了一些 python 变量疯狂。import pypodio2from pypodio2.api import OAuthClientc = OAuthClient( "<myappID>", '<myAPIkey>', '<myusername>', '<mypassword>' )我使用 pythonanywhere 作为沙箱,并且从 bash 控制台运行脚本,我得到了这个16:26 ~/mysite $ python apitest.pyTraceback (most recent call last): File "apitest.py", line 15, in <module> 'Splat_100' File "/home/Trebuchet/.local/lib/python2.7/site-packages/pypodio2/api.py", line 13, in OAuthClient api_key, api_secret, domain) File "/home/Trebuchet/.local/lib/python2.7/site-packages/pypodio2/transport.py", line 41, in __init__ urlencode(body), headers=headers) File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line 2135, in request cachekey, File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line 1796, in _request conn, request_uri, method, body, headers File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line 1701, in _conn_request conn.connect() File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line 1358, in connect sock.connect((self.host, self.port) + sockaddr[:2]) File "/usr/local/lib/python2.7/dist-packages/httplib2/socks.py", line 496, in connect self.__negotiatehttp(destpair[0], destpair[1]) File "/usr/local/lib/python2.7/dist-packages/httplib2/socks.py", line 457, in __negotiatehttp raise HTTPError((statuscode, statusline[2]))httplib2.socks.HTTPError: (403, 'Forbidden'密码、密钥等正确。用户名正确。clientID 正确。所以我一定错过了一些对于习惯使用 API 的人来说显而易见的东西。我不应该吗?谢谢 :)
1 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
PythonAnywhere 上的免费帐户只能访问我们白名单上的 http(s) 站点。如果您使用的网站有公开记录的 API,请将其链接发送给 PythonAnywhere 支持 (support@pythonanywhere.com),我们会考虑将其添加到白名单中。
添加回答
举报
0/150
提交
取消