使用PyGithub在GItHub存储库中创建文件

时间:2016-11-22 12:13:42

标签: github-api pygithub

我有代码:

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

它说:

  

回购
  授予对代码,提交状态,存储库的读/写访问权限   公众和公众的邀请,合作者和部署状态   私人储存库和组织。

如果有人能够澄清所需令牌的范围,我会非常感激,这可能是什么问题。

1 个答案:

答案 0 :(得分:2)

repo范围足以在存储库中创建文件。从this question开始,问题是您的文件必须有一个前导斜杠:

new_repo.create_file("/new_file.txt", "init commit", "file_content ------ ")