Method: purchases.subscriptions.get
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Eingestellt. Verwenden Sie stattdessen „purchases.subscriptionsv2.get“. Prüft, ob der Abokauf eines Nutzers gültig ist, und gibt das Ablaufdatum zurück.
HTTP-Anfrage
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
Die URL verwendet die Syntax der gRPC-Transcodierung.
Pfadparameter
Parameter |
packageName |
string
Der Paketname der Anwendung, für die dieses Abo gekauft wurde (z. B. „com.beispiel.app“).
|
subscriptionId |
string
Die ID des gekauften Abos (z. B. „monthly001“).
|
token |
string
Das Token, das beim Kauf des Abos auf dem Gerät des Nutzers bereitgestellt wurde.
|
Anfragetext
Der Anfragetext muss leer sein.
Antworttext
Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von SubscriptionPurchase
.
Beispiel
Hier ein Beispiel für eine Anfrage:
curl -X GET \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium/tokens/abcdefghijklmnopqrstuvwxyz.0123456789' \
-H 'Accept: application/json'
Hier ist eine Beispielantwort:
{
"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
}
Autorisierungsbereiche
Erfordert den folgenden OAuth-Bereich:
https://www.googleapis.com/auth/androidpublisher
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[null,null,["Zuletzt aktualisiert: 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`"]]