Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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使用oauth2 for Github api获取访问令牌_Python_Django_Oauth 2.0_Github Api - Fatal编程技术网

如何使用python使用oauth2 for Github api获取访问令牌

如何使用python使用oauth2 for Github api获取访问令牌,python,django,oauth-2.0,github-api,Python,Django,Oauth 2.0,Github Api,我正在使用django构建一个应用程序来访问python中的GithubAPI。我是第一次使用这种应用程序。 我指定了一个链接来访问用户的帐户,如下所示 <a href="https://github.com/login/oauth/authorize?client_id=something&scope=something,something"></a> 现在我可以访问用户的帐户。现在的问题是,我想使用oauth2,这样它就不会为每个请求请求用户名和密码。

我正在使用django构建一个应用程序来访问python中的GithubAPI。我是第一次使用这种应用程序。 我指定了一个链接来访问用户的帐户,如下所示

<a href="https://github.com/login/oauth/authorize?client_id=something&scope=something,something"></a>

现在我可以访问用户的帐户。现在的问题是,我想使用oauth2,这样它就不会为每个请求请求用户名和密码。 我的问题是如何获取访问令牌以及将其存储在何处。如何传递
post的post参数https://github.com/login/oauth/access_token
如my django视图中的客户id、范围、代码。以及如何为不同的用户链接不同的访问。请帮帮我。我在正确掌握基本知识方面遇到了问题。

我建议在将其设置为之后使用并利用它们

因此,您大概可以使用以下方式传递访问令牌:

import requests

user = User.objects.get(...)
social = user.social_auth.get(provider='github')
response = requests.get(
   'https://github.com/login/oauth/authorize? 
    client_id=something&scope=something,something',
    params={'access_token': social.extra_data['access_token']}
)
retrieved_data = response.json()['items']
如果要继续使用链接,还可以在模板中使用令牌。而且,您不需要将作用域作为查询参数传递,当然,Python Social Auth也可以为您处理这个问题