【问题标题】:403 Forbidden response from podio API using pypodio2403 使用 pypodio2 禁止来自 podio API 的响应
【发布时间】:2020-12-24 14:49:35
【问题描述】:

我在没有想法的情况下问这个问题 - 我以为我在做一些愚蠢的事情,但即使我是我也无法弄清楚是什么......我是 python 的新手,10 年前已经远离编码,但是我曾经相当精通 :-D 我编写了一个 python 脚本来查询谷歌 CSE 并搜索相关项目,其想法是它会检查一个 Podio 材料列表以查看它们是否已在此处列出。所以目前我想做的就是通过 Podio 进行身份验证并获取项目,以便我可以在我的应用中查询它们。

我正在尝试使用文档中规定的方法连接到 Podio API(以及这里的问题,以及我看过的其他任何地方)

此时字面意思这个脚本所做的就是除了用实际字符串替换的凭据之外,以防我错过了一些python变量的疯狂。

import pypodio2
from pypodio2.api import OAuthClient

c = OAuthClient(
    "<myappID>",
    '<myAPIkey>',
    '<myusername>',
    '<mypassword>'    
)

我将 pythonanywhere 用作沙箱,并且从 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 是正确的。所以我一定遗漏了一些对于习惯使用 API 的人来说显而易见的东西。我不应该吗?谢谢:)

【问题讨论】:

    标签: python python-2.7 podio


    【解决方案1】:

    PythonAnywhere 上的免费帐户只能访问我们白名单上的 http(s) 站点。如果您使用的网站有公开记录的 API,请将指向它的链接发送到 PythonAnywhere 支持 (support@pythonanywhere.com),我们会考虑将其添加到白名单中。

    【讨论】:

    • 整体很有意义。谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2014-11-04
    相关资源
    最近更新 更多