首页 > 解决方案 > GitHub 的 API 中缺少秘密要点

问题描述

根据文档,我可以发送带有授权(令牌)的请求以获取我的所有要点,或者匿名发送,我将获得公开流行的要点。

我的 Python 代码是:

url = "https://api.github.com/gists"
with Get(
    url,
    headers={"Accept": accept},
    params={"since": since, "per_page": per_page, "page": page},
    auth=("token", token)
) as response:
    return response

token设置为 时None,我得到所有公共要点(不是我的),当token设置为我的 OAuth 令牌时,我得到所有要点

然而,问题是它只给了我我的非秘密要点,而不是秘密和公开的。

最初我认为我的令牌是错误的,因此我没有得到秘密要点,但事实证明令牌是正确的(当然,我什至可以发布新的要点)并且还具有读/写要点的权限,并且这就是为什么它很奇怪。

该问题也与paramsheaders, 测试无关。

附加信息Get是一个实现上下文管理器并发送get请求[链接]的类。

标签: pythonpython-3.xgithubgithub-apigist

解决方案


经过长时间的研究,我发现来自开发人员设置的 GitHub 的 OAuth 令牌不足以执行此操作,我需要创建一个 GitHub 应用程序来扩展 GitHub。

我使用了这个工具: https ://github.com/defunkt/gist 为了向 GitHub 索要这样一个特定的令牌(在 GitHub 应用程序中使用),然后我开始使用它,它成功了!


推荐阅读