当我使用 python-instagram 库时,instagram api 保持引发 'You must provide a client_id' 异常

instagram api keep raise 'You must provide a client_id' exception when I use python-instagram library

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

在我 运行 sample_app.py 代码之后,我访问了我的测试网站 (localhost:8515) 并使用我的 instagram id 成功登录。但是,由于这个异常,我无法获取访问代码 "You must provide a client_id"

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

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

我自己做了;无法让 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