Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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
Django c2dm与OAuth2_Django_Oauth_Android C2dm_Credentials - Fatal编程技术网

Django c2dm与OAuth2

Django c2dm与OAuth2,django,oauth,android-c2dm,credentials,Django,Oauth,Android C2dm,Credentials,我想开发一个Django应用程序,通过google c2dm服务器向andriod设备发送消息。它使用OAuth2进行授权。 首先,我获取凭据并将其作为存储器存储在存储器中,然后我想从中获取凭据 存储并将此凭据连同其他参数和头一起发送到c2dm api。 我可以获取scope的凭据并将其存储在存储器中。 请有人指导我,我如何才能提出与凭据的要求,并发送到交付。 提前感谢,我想您已经能够在上执行步骤2的令牌交换授权代码了。然后,您应该已经获得了一个刷新令牌和一个访问令牌(如果您没有收到刷新令牌,请

我想开发一个Django应用程序,通过google c2dm服务器向andriod设备发送消息。它使用OAuth2进行授权。 首先,我获取凭据并将其作为存储器存储在存储器中,然后我想从中获取凭据 存储并将此凭据连同其他参数和头一起发送到c2dm api。 我可以获取scope的凭据并将其存储在存储器中。 请有人指导我,我如何才能提出与凭据的要求,并发送到交付。
提前感谢,

我想您已经能够在上执行步骤2的令牌交换授权代码了。然后,您应该已经获得了一个刷新令牌和一个访问令牌(如果您没有收到刷新令牌,请验证您是否在OAuth 2.0配置中选中了强制批准提示,并为访问类型选择了脱机

访问令牌将在一段时间(通常为1小时)后过期,但刷新令牌不会过期。刷新令牌(连同OAuth客户端IDOAuth客户端机密)可用于获取新的访问令牌:

curl --data-urlencode "client_id=OAuthClientID"
     --data-urlencode "client_secret=OAuthClientSecret"
     --data-urlencode "refresh_token=RefreshToken"
     -d "grant_type=refresh_token" "https://accounts.google.com/o/oauth2/token"
(替换OAuthClientID、OAuthClientSecret、RefreshToken)。有关进一步阅读,请参阅:

现在,您可以使用此访问令牌和设备的注册ID使用C2DM向该设备发送消息:

curl -k -H "Authorization: Bearer AccessToken"
     --data-urlencode "registration_id=RegistrationID"
     --data-urlencode "collapse_key=0"
     --data-urlencode "data.message=YourMessage"
     "https://android.apis.google.com/c2dm/send"
(替换AccessToken、RegistrationID和YourMessage)