当我使用 python-instagram 库时,instagram api keep raise 'You must provide a client_id' exception

Posted

技术标签:

【中文标题】当我使用 python-instagram 库时,instagram api keep raise \'You must provide a client_id\' exception【英文标题】:instagram api keep raise 'You must provide a client_id' exception when I use python-instagram library当我使用 python-instagram 库时,instagram api keep raise 'You must provide a client_id' exception 【发布时间】:2016-11-14 18:13:24 【问题描述】:

我在 instagram 开发者仪表板中注册了我的应用程序,并尝试使用 Facebook 制作的 python-instagram 库。

运行 sample_app.py 代码后,我访问了我的测试网站(localhost:8515)并使用我的 instagram id 成功登录。但是,由于此异常“您必须提供 client_id”,我无法获取访问代码

我也尝试使用这个库(https://github.com/Seraphicer/python-instagram-ext)做同样的事情,这是因为他们提取了请求的原始库并维护它。

【问题讨论】:

您必须为我们添加至少一行代码.. 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为具体问题或错误必要的最短代码在问题本身中重现它。没有明确的问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。 现在有同样的问题,过去的代码工作正常。看起来这是 Instagram 问题(与沙盒有关?)。 【参考方案1】:

有同样的问题,显然是由于 instagram api 或 httplib2 更新。为我修复了https://github.com/vgavro/python-instagram/commit/9dfc264571ad7c343af3899445d13afedf23e3aa(链接到我的 python-instagram 分支以及我需要的补丁)

【讨论】:

恕我直言,这是正确答案!这个补丁解决了我的问题。应该避免按照 Peter 的建议重新实现。【参考方案2】:

我已经自己动手了;无法让 python-instagram 工作。可能会抛弃整个图书馆。最近的 bug 太多了,我认为它没有得到维护。

@classmethod
def exchange_code_for_access_token(cls, code, redirect_uri, **kwargs):
    url = u'https://api.instagram.com/oauth/access_token'
    data = 
        u'client_id': cls.get_client_id(),
        u'client_secret': cls.get_client_secret(),
        u'code': code,
        u'grant_type': u'authorization_code',
        u'redirect_uri': redirect_uri
    

    response = requests.post(url, data=data)

    account_data = json.loads(response.content)

    return account_data

【讨论】:

以上是关于当我使用 python-instagram 库时,instagram api keep raise 'You must provide a client_id' exception的主要内容,如果未能解决你的问题,请参考以下文章

KeyError:使用 Python Instagram API 客户端的“数据”

当我推送到 GitHub 时如何处理秘密 API 密钥,以便在克隆存储库时我的项目仍然有效?

使用Fortran共享库时名称不匹配

构建角度库时包含资产

在 Gradle Android 中实现自定义库时未解析类

为 python 安装 Dlib 库时出错