403 来自 podio API 使用 pypodio2 的禁止响应
403 Forbidden response from podio API using pypodio2
我问这个问题 运行 没有想法 - 我以为我在做一些愚蠢的事情,但即使我是,我也不知道是什么...我是 [=25= 的新手] 10 年前我就不再编码了,但我曾经相当精通 :-D 我写了一个 python 脚本来查询 google CSE 并搜索相关项目,我的想法是它将检查跑道材料清单,看看它们是否已经列在那里。所以目前我想做的就是使用 Podio 进行身份验证并获取项目,以便我可以在我的应用程序中查询它们。
我正在尝试使用文档中规定的方法连接到 Podio API(以及此处的问题和我看过的其他地方)
此时 字面上 这个脚本所做的就是这个,除了用实际字符串替换的凭据,以防万一我遗漏了一些 python 变量疯狂.
import pypodio2
from pypodio2.api import OAuthClient
c = OAuthClient(
"<myappID>",
'<myAPIkey>',
'<myusername>',
'<mypassword>'
)
我在任何地方使用 python 作为沙盒,我正在 运行 从 bash 控制台运行脚本,我得到这个
16:26 ~/mysite $ python apitest.py
Traceback (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 正确。所以我一定遗漏了一些对于习惯使用 APIs 的人来说显而易见的东西。我不应该吗?谢谢:)
PythonAnywhere 上的免费帐户只能访问我们白名单上的 http(s) 站点。如果您使用的站点有公开记录的 API,请将 link 发送给 PythonAnywhere 支持 (support@pythonanywhere.com),我们会考虑将其添加到白名单。
我问这个问题 运行 没有想法 - 我以为我在做一些愚蠢的事情,但即使我是,我也不知道是什么...我是 [=25= 的新手] 10 年前我就不再编码了,但我曾经相当精通 :-D 我写了一个 python 脚本来查询 google CSE 并搜索相关项目,我的想法是它将检查跑道材料清单,看看它们是否已经列在那里。所以目前我想做的就是使用 Podio 进行身份验证并获取项目,以便我可以在我的应用程序中查询它们。
我正在尝试使用文档中规定的方法连接到 Podio API(以及此处的问题和我看过的其他地方)
此时 字面上 这个脚本所做的就是这个,除了用实际字符串替换的凭据,以防万一我遗漏了一些 python 变量疯狂.
import pypodio2
from pypodio2.api import OAuthClient
c = OAuthClient(
"<myappID>",
'<myAPIkey>',
'<myusername>',
'<mypassword>'
)
我在任何地方使用 python 作为沙盒,我正在 运行 从 bash 控制台运行脚本,我得到这个
16:26 ~/mysite $ python apitest.py
Traceback (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 正确。所以我一定遗漏了一些对于习惯使用 APIs 的人来说显而易见的东西。我不应该吗?谢谢:)
PythonAnywhere 上的免费帐户只能访问我们白名单上的 http(s) 站点。如果您使用的站点有公开记录的 API,请将 link 发送给 PythonAnywhere 支持 (support@pythonanywhere.com),我们会考虑将其添加到白名单。