Method: purchases.subscriptions.get
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Obsolète: utilisez purchases.subscriptionsv2.get à la place. Vérifie si l'achat d'abonnement d'un utilisateur est valide et renvoie la date d'expiration.
Requête HTTP
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
Paramètres |
packageName |
string
Nom du package de l'application pour laquelle cet abonnement a été acheté (par exemple, "com.un.truc").
|
subscriptionId |
string
ID de l'abonnement acheté (par exemple, "mensuel001").
|
token |
string
Jeton fourni à l'appareil de l'utilisateur lors de la souscription de l'abonnement.
|
Corps de la requête
Le corps de la requête doit être vide.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de SubscriptionPurchase
.
Échantillon
Voici un exemple de requête:
curl -X GET \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium/tokens/abcdefghijklmnopqrstuvwxyz.0123456789' \
-H 'Accept: application/json'
Voici un exemple de réponse :
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": "1678886400000",
"expiryTimeMillis": "1710470400000",
"autoRenewing": true,
"priceCurrencyCode": "USD",
"priceAmountMicros": "9990000",
"introductoryPriceInfo": {
"introductoryPriceCurrencyCode": "USD",
"introductoryPriceAmountMicros": "4990000",
"introductoryPricePeriod": "P1M",
"introductoryPriceCycles": 1
},
"countryCode": "US",
"developerPayload": "{\"userId\": \"user12345\", \"source\": \"app-promo\"}",
"paymentState": 1,
"cancelReason": 0,
"userCancellationTimeMillis": "1709251200000",
"cancelSurveyResult": {
"cancelSurveyReason": 3,
"userInputCancelReason": null
},
"orderId": "GPA.3344-5566-7788-99001",
"linkedPurchaseToken": null,
"purchaseType": 0,
"priceChange": null,
"profileName": "Jane Doe",
"emailAddress": "jane.doe@example.com",
"givenName": "Jane",
"familyName": "Doe",
"profileId": "109876543210987654321",
"acknowledgementState": 1,
"externalAccountId": "user-jane-doe-app-id",
"promotionType": 1,
"promotionCode": "WELCOME20",
"obfuscatedExternalAccountId": "obfUaCcOunTId123",
"obfuscatedExternalProfileId": "obfPrOfiLeId456",
"autoResumeTimeMillis": null
}
Champs d'application des autorisations
Requiert le niveau d'accès OAuth suivant :
https://www.googleapis.com/auth/androidpublisher
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[null,null,["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003eVerifies the validity of a user's subscription purchase and provides the expiry time.\u003c/p\u003e\n"],["\u003cp\u003eRequires the package name, subscription ID, and purchase token to validate the subscription.\u003c/p\u003e\n"],["\u003cp\u003eUses an HTTP GET request and requires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope.\u003c/p\u003e\n"],["\u003cp\u003eReturns a \u003ccode\u003eSubscriptionPurchase\u003c/code\u003e object containing subscription details if the purchase is valid.\u003c/p\u003e\n"]]],["The core function validates a user's subscription purchase and provides its expiry time. It uses a `GET` HTTP request to a specific URL, incorporating parameters for `packageName`, `subscriptionId`, and `token`. The request body should be empty. A successful response returns a `SubscriptionPurchase` instance. Authorization requires the `https://www.googleapis.com/auth/androidpublisher` OAuth scope. This process verifies the validity of subscription data using a predefined request structure and security measures.\n"],null,["# Method: purchases.subscriptions.get\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\n| This item is deprecated!\nDeprecated: Use purchases.subscriptionsv2.get instead. Checks whether a user's subscription purchase is valid and returns its expiry time.\n\n### HTTP request\n\n`GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|------------------|-------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). |\n| `subscriptionId` | `string` The purchased subscription ID (for example, 'monthly001'). |\n| `token` | `string` The token provided to the user's device when the subscription was purchased. |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nIf successful, the response body contains an instance of [SubscriptionPurchase](/android-publisher/api-ref/rest/v3/purchases.subscriptions#SubscriptionPurchase).\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl -X GET \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium/tokens/abcdefghijklmnopqrstuvwxyz.0123456789' \\\n -H 'Accept: application/json'\n```\n\nThe following is a sample response: \n\n```json\n{\n \"kind\": \"androidpublisher#subscriptionPurchase\",\n \"startTimeMillis\": \"1678886400000\",\n \"expiryTimeMillis\": \"1710470400000\",\n \"autoRenewing\": true,\n \"priceCurrencyCode\": \"USD\",\n \"priceAmountMicros\": \"9990000\",\n \"introductoryPriceInfo\": {\n \"introductoryPriceCurrencyCode\": \"USD\",\n \"introductoryPriceAmountMicros\": \"4990000\",\n \"introductoryPricePeriod\": \"P1M\",\n \"introductoryPriceCycles\": 1\n },\n \"countryCode\": \"US\",\n \"developerPayload\": \"{\\\"userId\\\": \\\"user12345\\\", \\\"source\\\": \\\"app-promo\\\"}\",\n \"paymentState\": 1,\n \"cancelReason\": 0,\n \"userCancellationTimeMillis\": \"1709251200000\",\n \"cancelSurveyResult\": {\n \"cancelSurveyReason\": 3,\n \"userInputCancelReason\": null\n },\n \"orderId\": \"GPA.3344-5566-7788-99001\",\n \"linkedPurchaseToken\": null,\n \"purchaseType\": 0,\n \"priceChange\": null,\n \"profileName\": \"Jane Doe\",\n \"emailAddress\": \"jane.doe@example.com\",\n \"givenName\": \"Jane\",\n \"familyName\": \"Doe\",\n \"profileId\": \"109876543210987654321\",\n \"acknowledgementState\": 1,\n \"externalAccountId\": \"user-jane-doe-app-id\",\n \"promotionType\": 1,\n \"promotionCode\": \"WELCOME20\",\n \"obfuscatedExternalAccountId\": \"obfUaCcOunTId123\",\n \"obfuscatedExternalProfileId\": \"obfPrOfiLeId456\",\n \"autoResumeTimeMillis\": null\n}\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]