0
アプリでGoogleの定期購読を使用したいと考えています。
現在、私はクライアントで購読状況を購入して確認することができます。 phpバックエンドでサブスクリプションステータスを確認する方法はありますか?我々が持っているバックエンドで
バックエンドでgoogle androidサブスクリプションステータスを確認してください
:
- パブリックライセンスキー
- 製品ID(SKU)
- 購入トークン
アプリでGoogleの定期購読を使用したいと考えています。
現在、私はクライアントで購読状況を購入して確認することができます。 phpバックエンドでサブスクリプションステータスを確認する方法はありますか?我々が持っているバックエンドで
バックエンドでgoogle androidサブスクリプションステータスを確認してください
:
はい。あなたのサーバー(あなたの場合はPHP)から購入トークンの要求をプレイストアAPIに送信することで、購読状況を確認することができます。サーバーの応答のexpiryTimeMillis
フィールドを確認し、購入が期限切れになっているかどうかを確認できます。 はまた、この答えをチェック - https://stackoverflow.com/a/34005001/4250161
をここでは、購入を取得する方法の例であるPHPで日付を期限切れ:
$ch = curl_init();
$TOKEN_URL = "https://accounts.google.com/o/oauth2/token";
$VALIDATE_URL = "https://www.googleapis.com/androidpublisher/v2/applications/".
$appid."/purchases/subscriptions/".
$productID."/tokens/".$purchaseToken;
$input_fields = 'refresh_token='.$refreshToken.
'&client_secret='.$clientSecret.
'&client_id='.$clientID.
'&redirect_uri='.$redirectUri.
'&grant_type=refresh_token';
//Request to google oauth for authentication
curl_setopt($ch, CURLOPT_URL, $TOKEN_URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $input_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result, true);
if (!$result || !$result["access_token"]) {
//error
return;
}
//request to play store with the access token from the authentication request
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$VALIDATE_URL."?access_token=".$result["access_token"]);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result, true);
if (!$result || $result["error"] != null) {
//error
return;
}
$expireTime = date('Y-m-d H:i:s', $result["expiryTimeMillis"]/1000. - date("Z"));
//You get the purchase expire time, for example 2017-02-22 09:16:42
:
$appId
- アプリのパッケージ名、COM等です。 facebook.messenger$refreshToken, $clientID, $clientSecret
- oauth2のアカウントの詳細。プレイストアAPIの詳細については、https://developers.google.com/android-publisher/api-ref/
を参照してください。ここで重要な問題は、oauth2認証を渡す方法です。 php api-client-libraryの仕様には、0'2と書かれています。許可APIアクセス(OAuth 2.0) これらのAPI呼び出しはプライベートユーザーデータにアクセスします。それらを呼び出すには、プライベートデータにアクセスできるユーザーがアプリケーションにアクセスできるようにする必要があります。したがって、アプリケーションを認証し、アプリケーションにアクセス権を付与し、そのアクセスを許可する必要があります。 ユーザが自分のユーザデータにアクセスする方法を私たちのサーバに与える方法がわかりません私はクライアントから何かを呼び出さなければならないのですか? – undefined
https://developers.google.com/api-client-library/php/start/get_startedから引用しています。 – little
https://developers.google.com/api-client-library/php/start/get_startedから引用しています。 refreshToken、clientId、およびclientSecretは定数であり、ユーザー固有のものではありません。あなたはそれらを一度入手する必要があります。用語はちょっと混乱します。そのドキュメントでは、クライアントは実際にはサーバーです。つまり、OAuthを照会するクライアントです。あなたのアプリケーションについて話しているわけではありません。 – little