我有代码:
import github
token = "my gitHub token"
g = github.Github(token)
new_repo = g.get_user().create_repo("NewMyTestRepo")
print("New repo: ", new_repo)
new_repo.create_file("new_file.txt", "init commit", "file_content ------ ")
我已经运行了该代码,结果就是:
New repo: Repository(full_name="myname/NewMyTestRepo")
Traceback (most recent call last):
...
File "/home/serega/PycharmProjects/GitProj/myvenv/lib/python3.5/site-packages/github/Requester.py", line 180, in __check
raise self.__createException(status, responseHeaders, output)
github.GithubException.UnknownObjectException: 404 {'message': 'Not Found', 'documentation_url': 'https://developer.github.com/v3'}
我认为我的令牌范围可能有问题,它有 repo 范围。不过我已经设法创建了repo,因此似乎应该允许在该repo中使用新文件进行提交。
关于范围我看到了这个链接:https://developer.github.com/v3/oauth/#scopes
它说:
回购
授予对代码,提交状态,存储库的读/写访问权限 公众和公众的邀请,合作者和部署状态 私人储存库和组织。
如果有人能够澄清所需令牌的范围,我会非常感激,这可能是什么问题。
答案 0 :(得分:2)
repo
范围足以在存储库中创建文件。从this question开始,问题是您的文件必须有一个前导斜杠:
new_repo.create_file("/new_file.txt", "init commit", "file_content ------ ")