0

Googlec2dmサーバーからandriodデバイスにメッセージを送信するDjangoアプリケーションを開発したいと思います。認証にOAuth2を使用します。最初にクレデンシャルを取得し、それをストレージとしてストレージに保存します。次に、ストレージからクレデンシャルを取得し、このクレデンシャルを他のパラメーターとヘッダーと一緒にc2dmapiに送信します。スコープhttps://android.apis.google.com/c2dmのクレデンシャルを取得して、ストレージに保存できます。誰かが私を案内してください、どうすればクレデンシャルを使ってリクエストを行い、https://android.clients.google.com/c2dm/sendに送信して配信できますか?前もって感謝します、

4

1 に答える 1

1

Google OAuth 2.0 Playgroundでステップ 2トークンの Exchange 認証コードを実行できたと思います。次に、リフレッシュ トークンアクセス トークンを取得している必要があります (リフレッシュ トークンを受け取っていない場合は、[ OAuth 2.0 構成]で [承認プロンプトを強制する] をオンにし、[アクセス タイプ]で [オフライン]を選択していることを確認してください。

アクセス トークンはしばらくすると (通常は 1 時間) 期限切れになりますが、更新トークンは期限切れになりません。更新トークン ( OAuth クライアント IDおよびOAuth クライアント シークレットと一緒に) を使用して、新しいアクセス トークンを取得できます。

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 を置き換えます)。詳細については、次を参照してください: Web サーバー アプリケーションに OAuth 2.0 を使用する - オフライン アクセス

これで、このアクセス トークンとデバイスの登録 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 を置き換えます)

于 2012-06-15T20:08:15.790 に答える