Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pyGithub在经过身份验证的用户上创建repo时引发异常_Python_Pygithub - Fatal编程技术网

Python 使用pyGithub在经过身份验证的用户上创建repo时引发异常

Python 使用pyGithub在经过身份验证的用户上创建repo时引发异常,python,pygithub,Python,Pygithub,在从get_user()调用create_repo on之前,一切都进展顺利。 无论我尝试什么,它总是抛出一个异常: [ERROR tornado.application web:1599] Exception in exception handler Traceback (most recent call last): File "/Users/marcocano/Desktop/tsri/discovery-app/discovery/web/api/github.py&quo

在从get_user()调用create_repo on之前,一切都进展顺利。 无论我尝试什么,它总是抛出一个异常:

[ERROR tornado.application web:1599] Exception in exception handler Traceback (most recent call last):   File "/Users/marcocano/Desktop/tsri/discovery-app/discovery/web/api/github.py", line 43, in post
    repo = auth_user.create_repo(repo_name)   File "/Users/marcocano/Desktop/tsri/discovery-app/env/lib/python3.6/site-packages/github/AuthenticatedUser.py", line 679, in create_repo
    "POST", "/user/repos", input=post_parameters   File "/Users/marcocano/Desktop/tsri/discovery-app/env/lib/python3.6/site-packages/github/Requester.py", line 319, in requestJsonAndCheck
    verb, url, parameters, headers, input, self.__customConnection(url)   File "/Users/marcocano/Desktop/tsri/discovery-app/env/lib/python3.6/site-packages/github/Requester.py", line 342, in __check
    raise self.__createException(status, responseHeaders, output) github.GithubException.UnknownObjectException: 404 {"message": "Not Found", "documentation_url": "https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user"}
代码:

 if self.request.headers['Content-Type'] == 'application/json':
                self.args = json.loads(self.request.body)
            repo_name = self.args.get('name', None)
            if not repo_name:
                raise HTTPError(400, reason=f"Required parameter 'name' not provided")

        user = json.loads(self.get_secure_cookie("user"))
        # signin with token
        g = Github(user['access_token'])
        # authenticated user
        auth_user = g.get_user()
        if auth_user.login:
            try:
                print('auth_user',auth_user)
                repo = auth_user.create_repo(repo_name)
                print(repo)
            except GithubException as e:
                raise HTTPError(400, reason=e)
            except Exception as exc:  # unexpected
                raise HTTPError(500, reason=str(exc))

        else:
            raise HTTPError(400, reason=f"Unable to authenticate user")

        return repo

问题是我得到的令牌没有正确的作用域,下面是请求正确作用域的文档:

这是导致我出错的文档之一,但应该由包内部处理