candy_check 0.1.0.pre → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +23 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +7 -8
  5. data/Guardfile +42 -0
  6. data/MIGRATION_GUIDE_0_2_0.md +141 -0
  7. data/README.md +86 -26
  8. data/Rakefile +1 -1
  9. data/candy_check.gemspec +33 -25
  10. data/lib/candy_check/app_store/receipt_collection.rb +5 -3
  11. data/lib/candy_check/app_store/subscription_verification.rb +25 -1
  12. data/lib/candy_check/app_store/verification.rb +1 -1
  13. data/lib/candy_check/app_store/verifier.rb +11 -11
  14. data/lib/candy_check/cli/app.rb +16 -33
  15. data/lib/candy_check/cli/commands/play_store.rb +12 -13
  16. data/lib/candy_check/play_store.rb +20 -10
  17. data/lib/candy_check/play_store/acknowledger.rb +19 -0
  18. data/lib/candy_check/play_store/android_publisher_service.rb +6 -0
  19. data/lib/candy_check/play_store/product_acknowledgements/acknowledgement.rb +45 -0
  20. data/lib/candy_check/play_store/product_acknowledgements/response.rb +24 -0
  21. data/lib/candy_check/play_store/product_purchases/product_purchase.rb +90 -0
  22. data/lib/candy_check/play_store/product_purchases/product_verification.rb +53 -0
  23. data/lib/candy_check/play_store/subscription_purchases/subscription_purchase.rb +154 -0
  24. data/lib/candy_check/play_store/subscription_purchases/subscription_verification.rb +55 -0
  25. data/lib/candy_check/play_store/verification_failure.rb +8 -6
  26. data/lib/candy_check/play_store/verifier.rb +24 -49
  27. data/lib/candy_check/utils/config.rb +5 -3
  28. data/lib/candy_check/version.rb +1 -1
  29. data/spec/app_store/receipt_collection_spec.rb +33 -0
  30. data/spec/app_store/subscription_verification_spec.rb +35 -2
  31. data/spec/app_store/verifier_spec.rb +24 -5
  32. data/spec/candy_check_spec.rb +2 -2
  33. data/spec/cli/commands/play_store_spec.rb +10 -43
  34. data/spec/fixtures/play_store/random_dummy_key.json +12 -0
  35. data/spec/fixtures/vcr_cassettes/play_store/product_acknowledgements/acknowledged.yml +105 -0
  36. data/spec/fixtures/vcr_cassettes/play_store/product_acknowledgements/already_acknowledged.yml +124 -0
  37. data/spec/fixtures/vcr_cassettes/play_store/product_acknowledgements/refunded.yml +122 -0
  38. data/spec/fixtures/vcr_cassettes/play_store/product_purchases/permission_denied.yml +196 -0
  39. data/spec/fixtures/vcr_cassettes/play_store/product_purchases/response_with_empty_body.yml +183 -0
  40. data/spec/fixtures/vcr_cassettes/play_store/product_purchases/valid_but_not_consumed.yml +122 -0
  41. data/spec/fixtures/vcr_cassettes/play_store/subscription_purchases/permission_denied.yml +196 -0
  42. data/spec/fixtures/vcr_cassettes/play_store/subscription_purchases/valid_but_expired.yml +127 -0
  43. data/spec/play_store/acknowledger_spec.rb +48 -0
  44. data/spec/play_store/product_acknowledgements/acknowledgement_spec.rb +54 -0
  45. data/spec/play_store/product_acknowledgements/response_spec.rb +66 -0
  46. data/spec/play_store/product_purchases/product_purchase_spec.rb +110 -0
  47. data/spec/play_store/product_purchases/product_verification_spec.rb +49 -0
  48. data/spec/play_store/subscription_purchases/subscription_purchase_spec.rb +237 -0
  49. data/spec/play_store/subscription_purchases/subscription_verification_spec.rb +65 -0
  50. data/spec/play_store/verification_failure_spec.rb +18 -18
  51. data/spec/play_store/verifier_spec.rb +32 -96
  52. data/spec/spec_helper.rb +32 -10
  53. metadata +175 -75
  54. data/lib/candy_check/play_store/client.rb +0 -126
  55. data/lib/candy_check/play_store/config.rb +0 -51
  56. data/lib/candy_check/play_store/discovery_repository.rb +0 -33
  57. data/lib/candy_check/play_store/receipt.rb +0 -81
  58. data/lib/candy_check/play_store/subscription.rb +0 -138
  59. data/lib/candy_check/play_store/subscription_verification.rb +0 -30
  60. data/lib/candy_check/play_store/verification.rb +0 -48
  61. data/spec/fixtures/api_cache.dump +0 -1
  62. data/spec/fixtures/play_store/api_cache.dump +0 -1
  63. data/spec/fixtures/play_store/auth_failure.txt +0 -18
  64. data/spec/fixtures/play_store/auth_success.txt +0 -20
  65. data/spec/fixtures/play_store/discovery.txt +0 -2841
  66. data/spec/fixtures/play_store/dummy.p12 +0 -0
  67. data/spec/fixtures/play_store/empty.txt +0 -17
  68. data/spec/fixtures/play_store/products_failure.txt +0 -29
  69. data/spec/fixtures/play_store/products_success.txt +0 -22
  70. data/spec/play_store/client_spec.rb +0 -125
  71. data/spec/play_store/config_spec.rb +0 -96
  72. data/spec/play_store/discovery_respository_spec.rb +0 -31
  73. data/spec/play_store/receipt_spec.rb +0 -88
  74. data/spec/play_store/subscription_spec.rb +0 -138
  75. data/spec/play_store/subscription_verification_spec.rb +0 -98
  76. data/spec/play_store/verification_spec.rb +0 -82
@@ -1,48 +0,0 @@
1
- module CandyCheck
2
- module PlayStore
3
- # Verifies a purchase token against the Google API
4
- # The call return either an {Receipt} or an {VerificationFailure}
5
- class Verification
6
- # @return [String] the package which will be queried
7
- attr_reader :package
8
- # @return [String] the item id which will be queried
9
- attr_reader :product_id
10
- # @return [String] the token for authentication
11
- attr_reader :token
12
-
13
- # Initializes a new call to the API
14
- # @param client [Client] a shared client instance
15
- # @param package [String]
16
- # @param product_id [String]
17
- # @param token [String]
18
- def initialize(client, package, product_id, token)
19
- @client = client
20
- @package = package
21
- @product_id = product_id
22
- @token = token
23
- end
24
-
25
- # Performs the verification against the remote server
26
- # @return [Receipt] if successful
27
- # @return [VerificationFailure] otherwise
28
- def call!
29
- verify!
30
- if valid?
31
- Receipt.new(@response)
32
- else
33
- VerificationFailure.new(@response['error'])
34
- end
35
- end
36
-
37
- private
38
-
39
- def valid?
40
- @response && @response['purchaseState'] && @response['consumptionState']
41
- end
42
-
43
- def verify!
44
- @response = @client.verify(package, product_id, token)
45
- end
46
- end
47
- end
48
- end
@@ -1 +0,0 @@
1
- Iu:Google::APIClient::API}�["https://www.googleapis.com/discovery/v1/apis/androidpublisher/v2/rest",{"kind":"discovery#restDescription","etag":"\"ye6orv2F-1npMW3u9suM3a7C5Bo/xy4W57xFkYdtUdm4rpPIU-7grtg\"","discoveryVersion":"v1","id":"androidpublisher:v2","name":"androidpublisher","canonicalName":"Android Publisher","version":"v2","revision":"20141117","title":"Google Play Android Developer API","description":"Lets Android application developers access their Google Play accounts.","ownerDomain":"google.com","ownerName":"Google","icons":{"x16":"https://www.google.com/images/icons/product/android-16.png","x32":"https://www.google.com/images/icons/product/android-32.png"},"documentationLink":"https://developers.google.com/android-publisher","protocol":"rest","baseUrl":"https://www.googleapis.com/androidpublisher/v2/applications/","basePath":"/androidpublisher/v2/applications/","rootUrl":"https://www.googleapis.com/","servicePath":"androidpublisher/v2/applications/","batchPath":"batch","parameters":{"alt":{"type":"string","description":"Data format for the response.","default":"json","enum":["json"],"enumDescriptions":["Responses with Content-Type of application/json"],"location":"query"},"fields":{"type":"string","description":"Selector specifying which fields to include in a partial response.","location":"query"},"key":{"type":"string","description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","location":"query"},"oauth_token":{"type":"string","description":"OAuth 2.0 token for the current user.","location":"query"},"prettyPrint":{"type":"boolean","description":"Returns response with indentations and line breaks.","default":"true","location":"query"},"quotaUser":{"type":"string","description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.","location":"query"},"userIp":{"type":"string","description":"IP address of the site where the request originates. Use this if you want to enforce per-user limits.","location":"query"}},"auth":{"oauth2":{"scopes":{"https://www.googleapis.com/auth/androidpublisher":{"description":"View and manage your Google Play Android Developer account"}}}},"schemas":{"Apk":{"id":"Apk","type":"object","properties":{"binary":{"$ref":"ApkBinary","description":"Information about the binary payload of this APK."},"versionCode":{"type":"integer","description":"The version code of the APK, as specified in the APK's manifest file.","format":"int32"}}},"ApkBinary":{"id":"ApkBinary","type":"object","description":"Represents the binary payload of an APK.","properties":{"sha1":{"type":"string","description":"A sha1 hash of the APK payload, encoded as a hex string and matching the output of the sha1sum command."}}},"ApkListing":{"id":"ApkListing","type":"object","properties":{"language":{"type":"string","description":"The language code, in BCP 47 format (eg \"en-US\")."},"recentChanges":{"type":"string","description":"Describe what's new in your APK."}}},"ApkListingsListResponse":{"id":"ApkListingsListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apkListingsListResponse\".","default":"androidpublisher#apkListingsListResponse"},"listings":{"type":"array","items":{"$ref":"ApkListing"}}}},"ApksListResponse":{"id":"ApksListResponse","type":"object","properties":{"apks":{"type":"array","items":{"$ref":"Apk"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apksListResponse\".","default":"androidpublisher#apksListResponse"}}},"AppDetails":{"id":"AppDetails","type":"object","properties":{"contactEmail":{"type":"string","description":"The user-visible support email for this app."},"contactPhone":{"type":"string","description":"The user-visible support telephone number for this app."},"contactWebsite":{"type":"string","description":"The user-visible website for this app."},"defaultLanguage":{"type":"string","description":"Default language code, in BCP 47 format (eg \"en-US\")."}}},"AppEdit":{"id":"AppEdit","type":"object","description":"Represents an edit of an app. An edit allows clients to make multiple changes before committing them in one operation.","properties":{"expiryTimeSeconds":{"type":"string","description":"The time at which the edit will expire and will be no longer valid for use in any subsequent API calls (encoded as seconds since the Epoch)."},"id":{"type":"string","description":"The ID of the edit that can be used in subsequent API calls."}}},"ExpansionFile":{"id":"ExpansionFile","type":"object","properties":{"fileSize":{"type":"string","description":"If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.","format":"int64"},"referencesVersion":{"type":"integer","description":"If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.","format":"int32"}}},"ExpansionFilesUploadResponse":{"id":"ExpansionFilesUploadResponse","type":"object","properties":{"expansionFile":{"$ref":"ExpansionFile"}}},"Image":{"id":"Image","type":"object","properties":{"id":{"type":"string","description":"A unique id representing this image."},"sha1":{"type":"string","description":"A sha1 hash of the image that was uploaded."},"url":{"type":"string","description":"A URL that will serve a preview of the image."}}},"ImagesDeleteAllResponse":{"id":"ImagesDeleteAllResponse","type":"object","properties":{"deleted":{"type":"array","items":{"$ref":"Image"}}}},"ImagesListResponse":{"id":"ImagesListResponse","type":"object","properties":{"images":{"type":"array","items":{"$ref":"Image"}}}},"ImagesUploadResponse":{"id":"ImagesUploadResponse","type":"object","properties":{"image":{"$ref":"Image"}}},"InAppProduct":{"id":"InAppProduct","type":"object","properties":{"defaultLanguage":{"type":"string","description":"The default language of the localized data, as defined by BCP 47. e.g. \"en-US\", \"en-GB\"."},"defaultPrice":{"$ref":"Price","description":"Default price cannot be zero. In-app products can never be free. Default price is always in the developer's Checkout merchant currency."},"listings":{"type":"object","description":"List of localized title and description data.","additionalProperties":{"$ref":"InAppProductListing","description":"The language of the localized data, as defined by BCP 47. i.e.: \"en-US\", \"en-GB\"."}},"packageName":{"type":"string","description":"The package name of the parent app."},"prices":{"type":"object","description":"Prices per buyer region. None of these prices should be zero. In-app products can never be free.","additionalProperties":{"$ref":"Price","description":"Region code, as defined by ISO 3166-2."}},"purchaseType":{"type":"string","description":"Purchase type enum value. Unmodifiable after creation."},"season":{"$ref":"Season","description":"Definition of a season for a seasonal subscription. Can be defined only for yearly subscriptions."},"sku":{"type":"string","description":"The stock-keeping-unit (SKU) of the product, unique within an app."},"status":{"type":"string"},"subscriptionPeriod":{"type":"string","description":"The period of the subscription (if any), i.e. period at which payments must happen. Defined as ISO 8601 duration, i.e. \"P1M\" for 1 month period."},"trialPeriod":{"type":"string","description":"Trial period, specified in ISO 8601 format. Acceptable values are anything between \"P7D\" (seven days) and \"P999D\" (999 days). Seasonal subscriptions cannot have a trial period."}}},"InAppProductListing":{"id":"InAppProductListing","type":"object","properties":{"description":{"type":"string"},"title":{"type":"string"}}},"InappproductsBatchRequest":{"id":"InappproductsBatchRequest","type":"object","properties":{"entrys":{"type":"array","items":{"$ref":"InappproductsBatchRequestEntry"}}}},"InappproductsBatchRequestEntry":{"id":"InappproductsBatchRequestEntry","type":"object","properties":{"batchId":{"type":"integer","format":"uint32"},"inappproductsinsertrequest":{"$ref":"InappproductsInsertRequest"},"inappproductsupdaterequest":{"$ref":"InappproductsUpdateRequest"},"methodName":{"type":"string"}}},"InappproductsBatchResponse":{"id":"InappproductsBatchResponse","type":"object","properties":{"entrys":{"type":"array","items":{"$ref":"InappproductsBatchResponseEntry"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsBatchResponse\".","default":"androidpublisher#inappproductsBatchResponse"}}},"InappproductsBatchResponseEntry":{"id":"InappproductsBatchResponseEntry","type":"object","properties":{"batchId":{"type":"integer","format":"uint32"},"inappproductsinsertresponse":{"$ref":"InappproductsInsertResponse"},"inappproductsupdateresponse":{"$ref":"InappproductsUpdateResponse"}}},"InappproductsInsertRequest":{"id":"InappproductsInsertRequest","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsInsertResponse":{"id":"InappproductsInsertResponse","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsListResponse":{"id":"InappproductsListResponse","type":"object","properties":{"inappproduct":{"type":"array","items":{"$ref":"InAppProduct"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsListResponse\".","default":"androidpublisher#inappproductsListResponse"},"pageInfo":{"$ref":"PageInfo"},"tokenPagination":{"$ref":"TokenPagination"}}},"InappproductsUpdateRequest":{"id":"InappproductsUpdateRequest","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsUpdateResponse":{"id":"InappproductsUpdateResponse","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"Listing":{"id":"Listing","type":"object","properties":{"fullDescription":{"type":"string","description":"Full description of the app; this may be up to 4000 characters in length."},"language":{"type":"string","description":"Language localization code (for example, \"de-AT\" for Austrian German)."},"shortDescription":{"type":"string","description":"Short description of the app (previously known as promo text); this may be up to 80 characters in length."},"title":{"type":"string","description":"App's localized title."},"video":{"type":"string","description":"URL of a promotional YouTube video for the app."}}},"ListingsListResponse":{"id":"ListingsListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#listingsListResponse\".","default":"androidpublisher#listingsListResponse"},"listings":{"type":"array","items":{"$ref":"Listing"}}}},"MonthDay":{"id":"MonthDay","type":"object","properties":{"day":{"type":"integer","description":"Day of a month, value in [1, 31] range. Valid range depends on the specified month.","format":"uint32"},"month":{"type":"integer","description":"Month of a year. e.g. 1 = JAN, 2 = FEB etc.","format":"uint32"}}},"PageInfo":{"id":"PageInfo","type":"object","properties":{"resultPerPage":{"type":"integer","format":"int32"},"startIndex":{"type":"integer","format":"int32"},"totalResults":{"type":"integer","format":"int32"}}},"Price":{"id":"Price","type":"object","properties":{"currency":{"type":"string","description":"3 letter Currency code, as defined by ISO 4217."},"priceMicros":{"type":"string","description":"The price in millionths of the currency base unit represented as a string."}}},"ProductPurchase":{"id":"ProductPurchase","type":"object","description":"A ProductPurchase resource indicates the status of a user's inapp product purchase.","properties":{"consumptionState":{"type":"integer","description":"The consumption state of the inapp product. Possible values are: \n- Yet to be consumed \n- Consumed","format":"int32"},"developerPayload":{"type":"string","description":"A developer-specified string that contains supplemental information about an order."},"kind":{"type":"string","description":"This kind represents an inappPurchase object in the androidpublisher service.","default":"androidpublisher#productPurchase"},"purchaseState":{"type":"integer","description":"The purchase state of the order. Possible values are: \n- Purchased \n- Cancelled","format":"int32"},"purchaseTimeMillis":{"type":"string","description":"The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).","format":"int64"}}},"Season":{"id":"Season","type":"object","properties":{"end":{"$ref":"MonthDay","description":"Inclusive end date of the recurrence period."},"start":{"$ref":"MonthDay","description":"Inclusive start date of the recurrence period."}}},"SubscriptionDeferralInfo":{"id":"SubscriptionDeferralInfo","type":"object","description":"A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.","properties":{"desiredExpiryTimeMillis":{"type":"string","description":"The desired next expiry time for the subscription in milliseconds since Epoch. The given time must be after the current expiry time for the subscription.","format":"int64"},"expectedExpiryTimeMillis":{"type":"string","description":"The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.","format":"int64"}}},"SubscriptionPurchase":{"id":"SubscriptionPurchase","type":"object","description":"A SubscriptionPurchase resource indicates the status of a user's subscription purchase.","properties":{"autoRenewing":{"type":"boolean","description":"Whether the subscription will automatically be renewed when it reaches its current expiry time."},"expiryTimeMillis":{"type":"string","description":"Time at which the subscription will expire, in milliseconds since Epoch.","format":"int64"},"kind":{"type":"string","description":"This kind represents a subscriptionPurchase object in the androidpublisher service.","default":"androidpublisher#subscriptionPurchase"},"startTimeMillis":{"type":"string","description":"Time at which the subscription was granted, in milliseconds since Epoch.","format":"int64"}}},"SubscriptionPurchasesDeferRequest":{"id":"SubscriptionPurchasesDeferRequest","type":"object","properties":{"deferralInfo":{"$ref":"SubscriptionDeferralInfo","description":"The information about the new desired expiry time for the subscription."}}},"SubscriptionPurchasesDeferResponse":{"id":"SubscriptionPurchasesDeferResponse","type":"object","properties":{"newExpiryTimeMillis":{"type":"string","description":"The new expiry time for the subscription in milliseconds since the Epoch.","format":"int64"}}},"Testers":{"id":"Testers","type":"object","properties":{"googleGroups":{"type":"array","items":{"type":"string"}},"googlePlusCommunities":{"type":"array","items":{"type":"string"}}}},"TokenPagination":{"id":"TokenPagination","type":"object","properties":{"nextPageToken":{"type":"string"},"previousPageToken":{"type":"string"}}},"Track":{"id":"Track","type":"object","properties":{"track":{"type":"string"},"userFraction":{"type":"number","format":"double"},"versionCodes":{"type":"array","items":{"type":"integer","format":"int32"}}}},"TracksListResponse":{"id":"TracksListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#tracksListResponse\".","default":"androidpublisher#tracksListResponse"},"tracks":{"type":"array","items":{"$ref":"Track"}}}}},"resources":{"edits":{"methods":{"commit":{"id":"androidpublisher.edits.commit","path":"{packageName}/edits/{editId}:commit","httpMethod":"POST","description":"Commits/applies the changes made in this edit back to the app.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"delete":{"id":"androidpublisher.edits.delete","path":"{packageName}/edits/{editId}","httpMethod":"DELETE","description":"Deletes an edit for an app. Creating a new edit will automatically delete any of your previous edits so this method need only be called if you want to preemptively abandon an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.get","path":"{packageName}/edits/{editId}","httpMethod":"GET","description":"Returns information about the edit specified. Calls will fail if the edit is no long active (e.g. has been deleted, superseded or expired).","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"insert":{"id":"androidpublisher.edits.insert","path":"{packageName}/edits","httpMethod":"POST","description":"Creates a new edit for an app, populated with the app's current state.","parameters":{"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName"],"request":{"$ref":"AppEdit"},"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"validate":{"id":"androidpublisher.edits.validate","path":"{packageName}/edits/{editId}:validate","httpMethod":"POST","description":"Checks that the edit can be successfully committed. The edit's changes are not applied to the live app.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}},"resources":{"apklistings":{"methods":{"delete":{"id":"androidpublisher.edits.apklistings.delete","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"DELETE","description":"Deletes the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.apklistings.deleteall","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings","httpMethod":"DELETE","description":"Deletes all the APK-specific localized listings for a specified APK.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.apklistings.get","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"GET","description":"Fetches the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.apklistings.list","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings","httpMethod":"GET","description":"Lists all the APK-specific localized listings for a specified APK.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode"],"response":{"$ref":"ApkListingsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.apklistings.patch","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"PATCH","description":"Updates or creates the APK-specific localized listing for a specified APK and language code. This method supports patch semantics.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"request":{"$ref":"ApkListing"},"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.apklistings.update","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"PUT","description":"Updates or creates the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"request":{"$ref":"ApkListing"},"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"apks":{"methods":{"list":{"id":"androidpublisher.edits.apks.list","path":"{packageName}/edits/{editId}/apks","httpMethod":"GET","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"ApksListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.apks.upload","path":"{packageName}/edits/{editId}/apks","httpMethod":"POST","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"Apk"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["application/octet-stream","application/vnd.android.package-archive"],"maxSize":"1GB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"}}}}}},"details":{"methods":{"get":{"id":"androidpublisher.edits.details.get","path":"{packageName}/edits/{editId}/details","httpMethod":"GET","description":"Fetches app details for this edit. This includes the default language and developer support contact information.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.details.patch","path":"{packageName}/edits/{editId}/details","httpMethod":"PATCH","description":"Updates app details for this edit. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"request":{"$ref":"AppDetails"},"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.details.update","path":"{packageName}/edits/{editId}/details","httpMethod":"PUT","description":"Updates app details for this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"request":{"$ref":"AppDetails"},"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"expansionfiles":{"methods":{"get":{"id":"androidpublisher.edits.expansionfiles.get","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"GET","description":"Fetches the Expansion File configuration for the APK specified.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.expansionfiles.patch","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"PATCH","description":"Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"request":{"$ref":"ExpansionFile"},"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.expansionfiles.update","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"PUT","description":"Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"request":{"$ref":"ExpansionFile"},"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.expansionfiles.upload","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"POST","description":"Uploads and attaches a new Expansion File to the APK specified.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"response":{"$ref":"ExpansionFilesUploadResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["application/octet-stream"],"maxSize":"2048MB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"}}}}}},"images":{"methods":{"delete":{"id":"androidpublisher.edits.images.delete","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}","httpMethod":"DELETE","description":"Deletes the image (specified by id) from the edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageId":{"type":"string","description":"Unique identifier an image within the set of images attached to this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType","imageId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.images.deleteall","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"DELETE","description":"Deletes all images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesDeleteAllResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.images.list","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"GET","description":"Lists all images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.images.upload","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"POST","description":"Uploads a new image and adds it to the list of images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesUploadResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["image/*"],"maxSize":"15MB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"}}}}}},"listings":{"methods":{"delete":{"id":"androidpublisher.edits.listings.delete","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"DELETE","description":"Deletes the specified localized store listing from an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.listings.deleteall","path":"{packageName}/edits/{editId}/listings","httpMethod":"DELETE","description":"Deletes all localized listings from an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.listings.get","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"GET","description":"Fetches information about a localized store listing.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.listings.list","path":"{packageName}/edits/{editId}/listings","httpMethod":"GET","description":"Returns all of the localized store listings attached to this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"ListingsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.listings.patch","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"PATCH","description":"Creates or updates a localized store listing. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"request":{"$ref":"Listing"},"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.listings.update","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"PUT","description":"Creates or updates a localized store listing.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"request":{"$ref":"Listing"},"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"testers":{"methods":{"get":{"id":"androidpublisher.edits.testers.get","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"GET","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.testers.patch","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"PATCH","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Testers"},"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.testers.update","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"PUT","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Testers"},"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"tracks":{"methods":{"get":{"id":"androidpublisher.edits.tracks.get","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"GET","description":"Fetches the track configuration for the specified track type. Includes the APK version codes that are in this track.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.tracks.list","path":"{packageName}/edits/{editId}/tracks","httpMethod":"GET","description":"Lists all the track configurations for this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"TracksListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.tracks.patch","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"PATCH","description":"Updates the track configuration for the specified track type. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Track"},"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.tracks.update","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"PUT","description":"Updates the track configuration for the specified track type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Track"},"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}}}},"inappproducts":{"methods":{"batch":{"id":"androidpublisher.inappproducts.batch","path":"inappproducts/batch","httpMethod":"POST","request":{"$ref":"InappproductsBatchRequest"},"response":{"$ref":"InappproductsBatchResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"delete":{"id":"androidpublisher.inappproducts.delete","path":"{packageName}/inappproducts/{sku}","httpMethod":"DELETE","description":"Delete an in-app product for an app.","parameters":{"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.inappproducts.get","path":"{packageName}/inappproducts/{sku}","httpMethod":"GET","description":"Returns information about the in-app product specified.","parameters":{"packageName":{"type":"string","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"insert":{"id":"androidpublisher.inappproducts.insert","path":"{packageName}/inappproducts","httpMethod":"POST","description":"Creates a new in-app product for an app.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.inappproducts.list","path":"{packageName}/inappproducts","httpMethod":"GET","description":"List all the in-app products for an Android app, both subscriptions and managed in-app products..","parameters":{"maxResults":{"type":"integer","format":"uint32","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with in-app products; for example, \"com.spiffygame\".","required":true,"location":"path"},"startIndex":{"type":"integer","format":"uint32","location":"query"},"token":{"type":"string","location":"query"}},"parameterOrder":["packageName"],"response":{"$ref":"InappproductsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.inappproducts.patch","path":"{packageName}/inappproducts/{sku}","httpMethod":"PATCH","description":"Updates the details of an in-app product. This method supports patch semantics.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.inappproducts.update","path":"{packageName}/inappproducts/{sku}","httpMethod":"PUT","description":"Updates the details of an in-app product.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"purchases":{"resources":{"products":{"methods":{"get":{"id":"androidpublisher.purchases.products.get","path":"{packageName}/purchases/products/{productId}/tokens/{token}","httpMethod":"GET","description":"Checks the purchase and consumption status of an inapp item.","parameters":{"packageName":{"type":"string","description":"The package name of the application the inapp product was sold in (for example, 'com.some.thing').","required":true,"location":"path"},"productId":{"type":"string","description":"The inapp product SKU (for example, 'com.some.thing.inapp1').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the inapp product was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","productId","token"],"response":{"$ref":"ProductPurchase"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"subscriptions":{"methods":{"cancel":{"id":"androidpublisher.purchases.subscriptions.cancel","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel","httpMethod":"POST","description":"Cancels a user's subscription purchase. The subscription remains valid until its expiration time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"defer":{"id":"androidpublisher.purchases.subscriptions.defer","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer","httpMethod":"POST","description":"Defers a user's subscription purchase until a specified future expiration time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"request":{"$ref":"SubscriptionPurchasesDeferRequest"},"response":{"$ref":"SubscriptionPurchasesDeferResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.purchases.subscriptions.get","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}","httpMethod":"GET","description":"Checks whether a user's subscription purchase is valid and returns its expiry time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"response":{"$ref":"SubscriptionPurchase"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"refund":{"id":"androidpublisher.purchases.subscriptions.refund","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund","httpMethod":"POST","description":"Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"revoke":{"id":"androidpublisher.purchases.subscriptions.revoke","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke","httpMethod":"POST","description":"Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}}}}}}]:ET
@@ -1 +0,0 @@
1
- Iu:Google::APIClient::API}�["https://www.googleapis.com/discovery/v1/apis/androidpublisher/v2/rest",{"kind":"discovery#restDescription","etag":"\"ye6orv2F-1npMW3u9suM3a7C5Bo/xy4W57xFkYdtUdm4rpPIU-7grtg\"","discoveryVersion":"v1","id":"androidpublisher:v2","name":"androidpublisher","canonicalName":"Android Publisher","version":"v2","revision":"20141117","title":"Google Play Android Developer API","description":"Lets Android application developers access their Google Play accounts.","ownerDomain":"google.com","ownerName":"Google","icons":{"x16":"https://www.google.com/images/icons/product/android-16.png","x32":"https://www.google.com/images/icons/product/android-32.png"},"documentationLink":"https://developers.google.com/android-publisher","protocol":"rest","baseUrl":"https://www.googleapis.com/androidpublisher/v2/applications/","basePath":"/androidpublisher/v2/applications/","rootUrl":"https://www.googleapis.com/","servicePath":"androidpublisher/v2/applications/","batchPath":"batch","parameters":{"alt":{"type":"string","description":"Data format for the response.","default":"json","enum":["json"],"enumDescriptions":["Responses with Content-Type of application/json"],"location":"query"},"fields":{"type":"string","description":"Selector specifying which fields to include in a partial response.","location":"query"},"key":{"type":"string","description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","location":"query"},"oauth_token":{"type":"string","description":"OAuth 2.0 token for the current user.","location":"query"},"prettyPrint":{"type":"boolean","description":"Returns response with indentations and line breaks.","default":"true","location":"query"},"quotaUser":{"type":"string","description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.","location":"query"},"userIp":{"type":"string","description":"IP address of the site where the request originates. Use this if you want to enforce per-user limits.","location":"query"}},"auth":{"oauth2":{"scopes":{"https://www.googleapis.com/auth/androidpublisher":{"description":"View and manage your Google Play Android Developer account"}}}},"schemas":{"Apk":{"id":"Apk","type":"object","properties":{"binary":{"$ref":"ApkBinary","description":"Information about the binary payload of this APK."},"versionCode":{"type":"integer","description":"The version code of the APK, as specified in the APK's manifest file.","format":"int32"}}},"ApkBinary":{"id":"ApkBinary","type":"object","description":"Represents the binary payload of an APK.","properties":{"sha1":{"type":"string","description":"A sha1 hash of the APK payload, encoded as a hex string and matching the output of the sha1sum command."}}},"ApkListing":{"id":"ApkListing","type":"object","properties":{"language":{"type":"string","description":"The language code, in BCP 47 format (eg \"en-US\")."},"recentChanges":{"type":"string","description":"Describe what's new in your APK."}}},"ApkListingsListResponse":{"id":"ApkListingsListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apkListingsListResponse\".","default":"androidpublisher#apkListingsListResponse"},"listings":{"type":"array","items":{"$ref":"ApkListing"}}}},"ApksListResponse":{"id":"ApksListResponse","type":"object","properties":{"apks":{"type":"array","items":{"$ref":"Apk"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apksListResponse\".","default":"androidpublisher#apksListResponse"}}},"AppDetails":{"id":"AppDetails","type":"object","properties":{"contactEmail":{"type":"string","description":"The user-visible support email for this app."},"contactPhone":{"type":"string","description":"The user-visible support telephone number for this app."},"contactWebsite":{"type":"string","description":"The user-visible website for this app."},"defaultLanguage":{"type":"string","description":"Default language code, in BCP 47 format (eg \"en-US\")."}}},"AppEdit":{"id":"AppEdit","type":"object","description":"Represents an edit of an app. An edit allows clients to make multiple changes before committing them in one operation.","properties":{"expiryTimeSeconds":{"type":"string","description":"The time at which the edit will expire and will be no longer valid for use in any subsequent API calls (encoded as seconds since the Epoch)."},"id":{"type":"string","description":"The ID of the edit that can be used in subsequent API calls."}}},"ExpansionFile":{"id":"ExpansionFile","type":"object","properties":{"fileSize":{"type":"string","description":"If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.","format":"int64"},"referencesVersion":{"type":"integer","description":"If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.","format":"int32"}}},"ExpansionFilesUploadResponse":{"id":"ExpansionFilesUploadResponse","type":"object","properties":{"expansionFile":{"$ref":"ExpansionFile"}}},"Image":{"id":"Image","type":"object","properties":{"id":{"type":"string","description":"A unique id representing this image."},"sha1":{"type":"string","description":"A sha1 hash of the image that was uploaded."},"url":{"type":"string","description":"A URL that will serve a preview of the image."}}},"ImagesDeleteAllResponse":{"id":"ImagesDeleteAllResponse","type":"object","properties":{"deleted":{"type":"array","items":{"$ref":"Image"}}}},"ImagesListResponse":{"id":"ImagesListResponse","type":"object","properties":{"images":{"type":"array","items":{"$ref":"Image"}}}},"ImagesUploadResponse":{"id":"ImagesUploadResponse","type":"object","properties":{"image":{"$ref":"Image"}}},"InAppProduct":{"id":"InAppProduct","type":"object","properties":{"defaultLanguage":{"type":"string","description":"The default language of the localized data, as defined by BCP 47. e.g. \"en-US\", \"en-GB\"."},"defaultPrice":{"$ref":"Price","description":"Default price cannot be zero. In-app products can never be free. Default price is always in the developer's Checkout merchant currency."},"listings":{"type":"object","description":"List of localized title and description data.","additionalProperties":{"$ref":"InAppProductListing","description":"The language of the localized data, as defined by BCP 47. i.e.: \"en-US\", \"en-GB\"."}},"packageName":{"type":"string","description":"The package name of the parent app."},"prices":{"type":"object","description":"Prices per buyer region. None of these prices should be zero. In-app products can never be free.","additionalProperties":{"$ref":"Price","description":"Region code, as defined by ISO 3166-2."}},"purchaseType":{"type":"string","description":"Purchase type enum value. Unmodifiable after creation."},"season":{"$ref":"Season","description":"Definition of a season for a seasonal subscription. Can be defined only for yearly subscriptions."},"sku":{"type":"string","description":"The stock-keeping-unit (SKU) of the product, unique within an app."},"status":{"type":"string"},"subscriptionPeriod":{"type":"string","description":"The period of the subscription (if any), i.e. period at which payments must happen. Defined as ISO 8601 duration, i.e. \"P1M\" for 1 month period."},"trialPeriod":{"type":"string","description":"Trial period, specified in ISO 8601 format. Acceptable values are anything between \"P7D\" (seven days) and \"P999D\" (999 days). Seasonal subscriptions cannot have a trial period."}}},"InAppProductListing":{"id":"InAppProductListing","type":"object","properties":{"description":{"type":"string"},"title":{"type":"string"}}},"InappproductsBatchRequest":{"id":"InappproductsBatchRequest","type":"object","properties":{"entrys":{"type":"array","items":{"$ref":"InappproductsBatchRequestEntry"}}}},"InappproductsBatchRequestEntry":{"id":"InappproductsBatchRequestEntry","type":"object","properties":{"batchId":{"type":"integer","format":"uint32"},"inappproductsinsertrequest":{"$ref":"InappproductsInsertRequest"},"inappproductsupdaterequest":{"$ref":"InappproductsUpdateRequest"},"methodName":{"type":"string"}}},"InappproductsBatchResponse":{"id":"InappproductsBatchResponse","type":"object","properties":{"entrys":{"type":"array","items":{"$ref":"InappproductsBatchResponseEntry"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsBatchResponse\".","default":"androidpublisher#inappproductsBatchResponse"}}},"InappproductsBatchResponseEntry":{"id":"InappproductsBatchResponseEntry","type":"object","properties":{"batchId":{"type":"integer","format":"uint32"},"inappproductsinsertresponse":{"$ref":"InappproductsInsertResponse"},"inappproductsupdateresponse":{"$ref":"InappproductsUpdateResponse"}}},"InappproductsInsertRequest":{"id":"InappproductsInsertRequest","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsInsertResponse":{"id":"InappproductsInsertResponse","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsListResponse":{"id":"InappproductsListResponse","type":"object","properties":{"inappproduct":{"type":"array","items":{"$ref":"InAppProduct"}},"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsListResponse\".","default":"androidpublisher#inappproductsListResponse"},"pageInfo":{"$ref":"PageInfo"},"tokenPagination":{"$ref":"TokenPagination"}}},"InappproductsUpdateRequest":{"id":"InappproductsUpdateRequest","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"InappproductsUpdateResponse":{"id":"InappproductsUpdateResponse","type":"object","properties":{"inappproduct":{"$ref":"InAppProduct"}}},"Listing":{"id":"Listing","type":"object","properties":{"fullDescription":{"type":"string","description":"Full description of the app; this may be up to 4000 characters in length."},"language":{"type":"string","description":"Language localization code (for example, \"de-AT\" for Austrian German)."},"shortDescription":{"type":"string","description":"Short description of the app (previously known as promo text); this may be up to 80 characters in length."},"title":{"type":"string","description":"App's localized title."},"video":{"type":"string","description":"URL of a promotional YouTube video for the app."}}},"ListingsListResponse":{"id":"ListingsListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#listingsListResponse\".","default":"androidpublisher#listingsListResponse"},"listings":{"type":"array","items":{"$ref":"Listing"}}}},"MonthDay":{"id":"MonthDay","type":"object","properties":{"day":{"type":"integer","description":"Day of a month, value in [1, 31] range. Valid range depends on the specified month.","format":"uint32"},"month":{"type":"integer","description":"Month of a year. e.g. 1 = JAN, 2 = FEB etc.","format":"uint32"}}},"PageInfo":{"id":"PageInfo","type":"object","properties":{"resultPerPage":{"type":"integer","format":"int32"},"startIndex":{"type":"integer","format":"int32"},"totalResults":{"type":"integer","format":"int32"}}},"Price":{"id":"Price","type":"object","properties":{"currency":{"type":"string","description":"3 letter Currency code, as defined by ISO 4217."},"priceMicros":{"type":"string","description":"The price in millionths of the currency base unit represented as a string."}}},"ProductPurchase":{"id":"ProductPurchase","type":"object","description":"A ProductPurchase resource indicates the status of a user's inapp product purchase.","properties":{"consumptionState":{"type":"integer","description":"The consumption state of the inapp product. Possible values are: \n- Yet to be consumed \n- Consumed","format":"int32"},"developerPayload":{"type":"string","description":"A developer-specified string that contains supplemental information about an order."},"kind":{"type":"string","description":"This kind represents an inappPurchase object in the androidpublisher service.","default":"androidpublisher#productPurchase"},"purchaseState":{"type":"integer","description":"The purchase state of the order. Possible values are: \n- Purchased \n- Cancelled","format":"int32"},"purchaseTimeMillis":{"type":"string","description":"The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).","format":"int64"}}},"Season":{"id":"Season","type":"object","properties":{"end":{"$ref":"MonthDay","description":"Inclusive end date of the recurrence period."},"start":{"$ref":"MonthDay","description":"Inclusive start date of the recurrence period."}}},"SubscriptionDeferralInfo":{"id":"SubscriptionDeferralInfo","type":"object","description":"A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.","properties":{"desiredExpiryTimeMillis":{"type":"string","description":"The desired next expiry time for the subscription in milliseconds since Epoch. The given time must be after the current expiry time for the subscription.","format":"int64"},"expectedExpiryTimeMillis":{"type":"string","description":"The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.","format":"int64"}}},"SubscriptionPurchase":{"id":"SubscriptionPurchase","type":"object","description":"A SubscriptionPurchase resource indicates the status of a user's subscription purchase.","properties":{"autoRenewing":{"type":"boolean","description":"Whether the subscription will automatically be renewed when it reaches its current expiry time."},"expiryTimeMillis":{"type":"string","description":"Time at which the subscription will expire, in milliseconds since Epoch.","format":"int64"},"kind":{"type":"string","description":"This kind represents a subscriptionPurchase object in the androidpublisher service.","default":"androidpublisher#subscriptionPurchase"},"startTimeMillis":{"type":"string","description":"Time at which the subscription was granted, in milliseconds since Epoch.","format":"int64"}}},"SubscriptionPurchasesDeferRequest":{"id":"SubscriptionPurchasesDeferRequest","type":"object","properties":{"deferralInfo":{"$ref":"SubscriptionDeferralInfo","description":"The information about the new desired expiry time for the subscription."}}},"SubscriptionPurchasesDeferResponse":{"id":"SubscriptionPurchasesDeferResponse","type":"object","properties":{"newExpiryTimeMillis":{"type":"string","description":"The new expiry time for the subscription in milliseconds since the Epoch.","format":"int64"}}},"Testers":{"id":"Testers","type":"object","properties":{"googleGroups":{"type":"array","items":{"type":"string"}},"googlePlusCommunities":{"type":"array","items":{"type":"string"}}}},"TokenPagination":{"id":"TokenPagination","type":"object","properties":{"nextPageToken":{"type":"string"},"previousPageToken":{"type":"string"}}},"Track":{"id":"Track","type":"object","properties":{"track":{"type":"string"},"userFraction":{"type":"number","format":"double"},"versionCodes":{"type":"array","items":{"type":"integer","format":"int32"}}}},"TracksListResponse":{"id":"TracksListResponse","type":"object","properties":{"kind":{"type":"string","description":"Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#tracksListResponse\".","default":"androidpublisher#tracksListResponse"},"tracks":{"type":"array","items":{"$ref":"Track"}}}}},"resources":{"edits":{"methods":{"commit":{"id":"androidpublisher.edits.commit","path":"{packageName}/edits/{editId}:commit","httpMethod":"POST","description":"Commits/applies the changes made in this edit back to the app.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"delete":{"id":"androidpublisher.edits.delete","path":"{packageName}/edits/{editId}","httpMethod":"DELETE","description":"Deletes an edit for an app. Creating a new edit will automatically delete any of your previous edits so this method need only be called if you want to preemptively abandon an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.get","path":"{packageName}/edits/{editId}","httpMethod":"GET","description":"Returns information about the edit specified. Calls will fail if the edit is no long active (e.g. has been deleted, superseded or expired).","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"insert":{"id":"androidpublisher.edits.insert","path":"{packageName}/edits","httpMethod":"POST","description":"Creates a new edit for an app, populated with the app's current state.","parameters":{"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName"],"request":{"$ref":"AppEdit"},"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"validate":{"id":"androidpublisher.edits.validate","path":"{packageName}/edits/{editId}:validate","httpMethod":"POST","description":"Checks that the edit can be successfully committed. The edit's changes are not applied to the live app.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppEdit"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}},"resources":{"apklistings":{"methods":{"delete":{"id":"androidpublisher.edits.apklistings.delete","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"DELETE","description":"Deletes the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.apklistings.deleteall","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings","httpMethod":"DELETE","description":"Deletes all the APK-specific localized listings for a specified APK.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.apklistings.get","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"GET","description":"Fetches the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.apklistings.list","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings","httpMethod":"GET","description":"Lists all the APK-specific localized listings for a specified APK.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode"],"response":{"$ref":"ApkListingsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.apklistings.patch","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"PATCH","description":"Updates or creates the APK-specific localized listing for a specified APK and language code. This method supports patch semantics.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"request":{"$ref":"ApkListing"},"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.apklistings.update","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}","httpMethod":"PUT","description":"Updates or creates the APK-specific localized listing for a specified APK and language code.","parameters":{"apkVersionCode":{"type":"integer","description":"The APK version code whose APK-specific listings should be read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","language"],"request":{"$ref":"ApkListing"},"response":{"$ref":"ApkListing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"apks":{"methods":{"list":{"id":"androidpublisher.edits.apks.list","path":"{packageName}/edits/{editId}/apks","httpMethod":"GET","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"ApksListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.apks.upload","path":"{packageName}/edits/{editId}/apks","httpMethod":"POST","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"Apk"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["application/octet-stream","application/vnd.android.package-archive"],"maxSize":"1GB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"}}}}}},"details":{"methods":{"get":{"id":"androidpublisher.edits.details.get","path":"{packageName}/edits/{editId}/details","httpMethod":"GET","description":"Fetches app details for this edit. This includes the default language and developer support contact information.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.details.patch","path":"{packageName}/edits/{editId}/details","httpMethod":"PATCH","description":"Updates app details for this edit. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"request":{"$ref":"AppDetails"},"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.details.update","path":"{packageName}/edits/{editId}/details","httpMethod":"PUT","description":"Updates app details for this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"request":{"$ref":"AppDetails"},"response":{"$ref":"AppDetails"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"expansionfiles":{"methods":{"get":{"id":"androidpublisher.edits.expansionfiles.get","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"GET","description":"Fetches the Expansion File configuration for the APK specified.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.expansionfiles.patch","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"PATCH","description":"Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"request":{"$ref":"ExpansionFile"},"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.expansionfiles.update","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"PUT","description":"Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"request":{"$ref":"ExpansionFile"},"response":{"$ref":"ExpansionFile"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.expansionfiles.upload","path":"{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}","httpMethod":"POST","description":"Uploads and attaches a new Expansion File to the APK specified.","parameters":{"apkVersionCode":{"type":"integer","description":"The version code of the APK whose Expansion File configuration is being read or modified.","required":true,"format":"int32","location":"path"},"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"expansionFileType":{"type":"string","required":true,"enum":["main","patch"],"enumDescriptions":["",""],"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","apkVersionCode","expansionFileType"],"response":{"$ref":"ExpansionFilesUploadResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["application/octet-stream"],"maxSize":"2048MB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"}}}}}},"images":{"methods":{"delete":{"id":"androidpublisher.edits.images.delete","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}","httpMethod":"DELETE","description":"Deletes the image (specified by id) from the edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageId":{"type":"string","description":"Unique identifier an image within the set of images attached to this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType","imageId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.images.deleteall","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"DELETE","description":"Deletes all images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesDeleteAllResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.images.list","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"GET","description":"Lists all images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"upload":{"id":"androidpublisher.edits.images.upload","path":"{packageName}/edits/{editId}/listings/{language}/{imageType}","httpMethod":"POST","description":"Uploads a new image and adds it to the list of images for the specified language and image type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"imageType":{"type":"string","required":true,"enum":["featureGraphic","icon","phoneScreenshots","promoGraphic","sevenInchScreenshots","tenInchScreenshots","tvBanner","tvScreenshots"],"enumDescriptions":["","","","","","","",""],"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language","imageType"],"response":{"$ref":"ImagesUploadResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"],"supportsMediaUpload":true,"mediaUpload":{"accept":["image/*"],"maxSize":"15MB","protocols":{"simple":{"multipart":true,"path":"/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"},"resumable":{"multipart":true,"path":"/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"}}}}}},"listings":{"methods":{"delete":{"id":"androidpublisher.edits.listings.delete","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"DELETE","description":"Deletes the specified localized store listing from an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"deleteall":{"id":"androidpublisher.edits.listings.deleteall","path":"{packageName}/edits/{editId}/listings","httpMethod":"DELETE","description":"Deletes all localized listings from an edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.edits.listings.get","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"GET","description":"Fetches information about a localized store listing.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.listings.list","path":"{packageName}/edits/{editId}/listings","httpMethod":"GET","description":"Returns all of the localized store listings attached to this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"ListingsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.listings.patch","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"PATCH","description":"Creates or updates a localized store listing. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"request":{"$ref":"Listing"},"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.listings.update","path":"{packageName}/edits/{editId}/listings/{language}","httpMethod":"PUT","description":"Creates or updates a localized store listing.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"language":{"type":"string","description":"The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId","language"],"request":{"$ref":"Listing"},"response":{"$ref":"Listing"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"testers":{"methods":{"get":{"id":"androidpublisher.edits.testers.get","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"GET","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.testers.patch","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"PATCH","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Testers"},"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.testers.update","path":"{packageName}/edits/{editId}/testers/{track}","httpMethod":"PUT","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Testers"},"response":{"$ref":"Testers"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"tracks":{"methods":{"get":{"id":"androidpublisher.edits.tracks.get","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"GET","description":"Fetches the track configuration for the specified track type. Includes the APK version codes that are in this track.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.edits.tracks.list","path":"{packageName}/edits/{editId}/tracks","httpMethod":"GET","description":"Lists all the track configurations for this edit.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName","editId"],"response":{"$ref":"TracksListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.edits.tracks.patch","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"PATCH","description":"Updates the track configuration for the specified track type. This method supports patch semantics.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Track"},"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.edits.tracks.update","path":"{packageName}/edits/{editId}/tracks/{track}","httpMethod":"PUT","description":"Updates the track configuration for the specified track type.","parameters":{"editId":{"type":"string","description":"Unique identifier for this edit.","required":true,"location":"path"},"packageName":{"type":"string","description":"Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".","required":true,"location":"path"},"track":{"type":"string","description":"The track type to read or modify.","required":true,"enum":["alpha","beta","production","rollout"],"enumDescriptions":["","","",""],"location":"path"}},"parameterOrder":["packageName","editId","track"],"request":{"$ref":"Track"},"response":{"$ref":"Track"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}}}},"inappproducts":{"methods":{"batch":{"id":"androidpublisher.inappproducts.batch","path":"inappproducts/batch","httpMethod":"POST","request":{"$ref":"InappproductsBatchRequest"},"response":{"$ref":"InappproductsBatchResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"delete":{"id":"androidpublisher.inappproducts.delete","path":"{packageName}/inappproducts/{sku}","httpMethod":"DELETE","description":"Delete an in-app product for an app.","parameters":{"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.inappproducts.get","path":"{packageName}/inappproducts/{sku}","httpMethod":"GET","description":"Returns information about the in-app product specified.","parameters":{"packageName":{"type":"string","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"insert":{"id":"androidpublisher.inappproducts.insert","path":"{packageName}/inappproducts","httpMethod":"POST","description":"Creates a new in-app product for an app.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app; for example, \"com.spiffygame\".","required":true,"location":"path"}},"parameterOrder":["packageName"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"list":{"id":"androidpublisher.inappproducts.list","path":"{packageName}/inappproducts","httpMethod":"GET","description":"List all the in-app products for an Android app, both subscriptions and managed in-app products..","parameters":{"maxResults":{"type":"integer","format":"uint32","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with in-app products; for example, \"com.spiffygame\".","required":true,"location":"path"},"startIndex":{"type":"integer","format":"uint32","location":"query"},"token":{"type":"string","location":"query"}},"parameterOrder":["packageName"],"response":{"$ref":"InappproductsListResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"patch":{"id":"androidpublisher.inappproducts.patch","path":"{packageName}/inappproducts/{sku}","httpMethod":"PATCH","description":"Updates the details of an in-app product. This method supports patch semantics.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"update":{"id":"androidpublisher.inappproducts.update","path":"{packageName}/inappproducts/{sku}","httpMethod":"PUT","description":"Updates the details of an in-app product.","parameters":{"autoConvertMissingPrices":{"type":"boolean","description":"If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.","location":"query"},"packageName":{"type":"string","description":"Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".","required":true,"location":"path"},"sku":{"type":"string","description":"Unique identifier for the in-app product.","required":true,"location":"path"}},"parameterOrder":["packageName","sku"],"request":{"$ref":"InAppProduct"},"response":{"$ref":"InAppProduct"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"purchases":{"resources":{"products":{"methods":{"get":{"id":"androidpublisher.purchases.products.get","path":"{packageName}/purchases/products/{productId}/tokens/{token}","httpMethod":"GET","description":"Checks the purchase and consumption status of an inapp item.","parameters":{"packageName":{"type":"string","description":"The package name of the application the inapp product was sold in (for example, 'com.some.thing').","required":true,"location":"path"},"productId":{"type":"string","description":"The inapp product SKU (for example, 'com.some.thing.inapp1').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the inapp product was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","productId","token"],"response":{"$ref":"ProductPurchase"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}},"subscriptions":{"methods":{"cancel":{"id":"androidpublisher.purchases.subscriptions.cancel","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel","httpMethod":"POST","description":"Cancels a user's subscription purchase. The subscription remains valid until its expiration time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"defer":{"id":"androidpublisher.purchases.subscriptions.defer","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer","httpMethod":"POST","description":"Defers a user's subscription purchase until a specified future expiration time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"request":{"$ref":"SubscriptionPurchasesDeferRequest"},"response":{"$ref":"SubscriptionPurchasesDeferResponse"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"get":{"id":"androidpublisher.purchases.subscriptions.get","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}","httpMethod":"GET","description":"Checks whether a user's subscription purchase is valid and returns its expiry time.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"response":{"$ref":"SubscriptionPurchase"},"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"refund":{"id":"androidpublisher.purchases.subscriptions.refund","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund","httpMethod":"POST","description":"Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]},"revoke":{"id":"androidpublisher.purchases.subscriptions.revoke","path":"{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke","httpMethod":"POST","description":"Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.","parameters":{"packageName":{"type":"string","description":"The package name of the application for which this subscription was purchased (for example, 'com.some.thing').","required":true,"location":"path"},"subscriptionId":{"type":"string","description":"The purchased subscription ID (for example, 'monthly001').","required":true,"location":"path"},"token":{"type":"string","description":"The token provided to the user's device when the subscription was purchased.","required":true,"location":"path"}},"parameterOrder":["packageName","subscriptionId","token"],"scopes":["https://www.googleapis.com/auth/androidpublisher"]}}}}}}}]:ET
@@ -1,18 +0,0 @@
1
- HTTP/1.1 400 Bad Request
2
- Content-Type: application/json
3
- Cache-Control: no-cache, no-store, max-age=0, must-revalidate
4
- Pragma: no-cache
5
- Expires: Fri, 01 Jan 1990 00:00:00 GMT
6
- Date: Mon, 19 Jan 2015 13:08:32 GMT
7
- X-Content-Type-Options: nosniff
8
- X-Frame-Options: SAMEORIGIN
9
- X-XSS-Protection: 1; mode=block
10
- Server: GSE
11
- Alternate-Protocol: 443:quic,p=0.02
12
- Accept-Ranges: none
13
- Vary: Accept-Encoding
14
- Transfer-Encoding: chunked
15
-
16
- {
17
- "error" : "invalid_grant"
18
- }
@@ -1,20 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json
3
- Cache-Control: no-cache, no-store, max-age=0, must-revalidate
4
- Pragma: no-cache
5
- Expires: Fri, 01 Jan 1990 00:00:00 GMT
6
- Date: Mon, 19 Jan 2015 13:08:32 GMT
7
- X-Content-Type-Options: nosniff
8
- X-Frame-Options: SAMEORIGIN
9
- X-XSS-Protection: 1; mode=block
10
- Server: GSE
11
- Alternate-Protocol: 443:quic,p=0.02
12
- Accept-Ranges: none
13
- Vary: Accept-Encoding
14
- Transfer-Encoding: chunked
15
-
16
- {
17
- "access_token": "some-random-garbage-32c6f0a0b4cc27392769e520aa6ab686c4e5e168",
18
- "token_type": "Bearer",
19
- "expires_in": 3600
20
- }
@@ -1,2841 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Expires: Mon, 19 Jan 2015 12:14:41 GMT
3
- Date: Mon, 19 Jan 2015 12:09:41 GMT
4
- Cache-Control: public, max-age=300, must-revalidate, no-transform
5
- ETag: "ye6orv2F-1npMW3u9suM3a7C5Bo/xy4W57xFkYdtUdm4rpPIU-7grtg"
6
- Vary: Origin
7
- Vary: X-Origin
8
- Content-Type: application/json; charset=UTF-8
9
- X-Content-Type-Options: nosniff
10
- X-Frame-Options: SAMEORIGIN
11
- X-XSS-Protection: 1; mode=block
12
- Content-Length: 83495
13
- Server: GSE
14
- Alternate-Protocol: 443:quic,p=0.02
15
-
16
- {
17
- "kind": "discovery#restDescription",
18
- "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/xy4W57xFkYdtUdm4rpPIU-7grtg\"",
19
- "discoveryVersion": "v1",
20
- "id": "androidpublisher:v2",
21
- "name": "androidpublisher",
22
- "canonicalName": "Android Publisher",
23
- "version": "v2",
24
- "revision": "20141117",
25
- "title": "Google Play Android Developer API",
26
- "description": "Lets Android application developers access their Google Play accounts.",
27
- "ownerDomain": "google.com",
28
- "ownerName": "Google",
29
- "icons": {
30
- "x16": "https://www.google.com/images/icons/product/android-16.png",
31
- "x32": "https://www.google.com/images/icons/product/android-32.png"
32
- },
33
- "documentationLink": "https://developers.google.com/android-publisher",
34
- "protocol": "rest",
35
- "baseUrl": "https://www.googleapis.com/androidpublisher/v2/applications/",
36
- "basePath": "/androidpublisher/v2/applications/",
37
- "rootUrl": "https://www.googleapis.com/",
38
- "servicePath": "androidpublisher/v2/applications/",
39
- "batchPath": "batch",
40
- "parameters": {
41
- "alt": {
42
- "type": "string",
43
- "description": "Data format for the response.",
44
- "default": "json",
45
- "enum": [
46
- "json"
47
- ],
48
- "enumDescriptions": [
49
- "Responses with Content-Type of application/json"
50
- ],
51
- "location": "query"
52
- },
53
- "fields": {
54
- "type": "string",
55
- "description": "Selector specifying which fields to include in a partial response.",
56
- "location": "query"
57
- },
58
- "key": {
59
- "type": "string",
60
- "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
61
- "location": "query"
62
- },
63
- "oauth_token": {
64
- "type": "string",
65
- "description": "OAuth 2.0 token for the current user.",
66
- "location": "query"
67
- },
68
- "prettyPrint": {
69
- "type": "boolean",
70
- "description": "Returns response with indentations and line breaks.",
71
- "default": "true",
72
- "location": "query"
73
- },
74
- "quotaUser": {
75
- "type": "string",
76
- "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
77
- "location": "query"
78
- },
79
- "userIp": {
80
- "type": "string",
81
- "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
82
- "location": "query"
83
- }
84
- },
85
- "auth": {
86
- "oauth2": {
87
- "scopes": {
88
- "https://www.googleapis.com/auth/androidpublisher": {
89
- "description": "View and manage your Google Play Android Developer account"
90
- }
91
- }
92
- }
93
- },
94
- "schemas": {
95
- "Apk": {
96
- "id": "Apk",
97
- "type": "object",
98
- "properties": {
99
- "binary": {
100
- "$ref": "ApkBinary",
101
- "description": "Information about the binary payload of this APK."
102
- },
103
- "versionCode": {
104
- "type": "integer",
105
- "description": "The version code of the APK, as specified in the APK's manifest file.",
106
- "format": "int32"
107
- }
108
- }
109
- },
110
- "ApkBinary": {
111
- "id": "ApkBinary",
112
- "type": "object",
113
- "description": "Represents the binary payload of an APK.",
114
- "properties": {
115
- "sha1": {
116
- "type": "string",
117
- "description": "A sha1 hash of the APK payload, encoded as a hex string and matching the output of the sha1sum command."
118
- }
119
- }
120
- },
121
- "ApkListing": {
122
- "id": "ApkListing",
123
- "type": "object",
124
- "properties": {
125
- "language": {
126
- "type": "string",
127
- "description": "The language code, in BCP 47 format (eg \"en-US\")."
128
- },
129
- "recentChanges": {
130
- "type": "string",
131
- "description": "Describe what's new in your APK."
132
- }
133
- }
134
- },
135
- "ApkListingsListResponse": {
136
- "id": "ApkListingsListResponse",
137
- "type": "object",
138
- "properties": {
139
- "kind": {
140
- "type": "string",
141
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apkListingsListResponse\".",
142
- "default": "androidpublisher#apkListingsListResponse"
143
- },
144
- "listings": {
145
- "type": "array",
146
- "items": {
147
- "$ref": "ApkListing"
148
- }
149
- }
150
- }
151
- },
152
- "ApksListResponse": {
153
- "id": "ApksListResponse",
154
- "type": "object",
155
- "properties": {
156
- "apks": {
157
- "type": "array",
158
- "items": {
159
- "$ref": "Apk"
160
- }
161
- },
162
- "kind": {
163
- "type": "string",
164
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apksListResponse\".",
165
- "default": "androidpublisher#apksListResponse"
166
- }
167
- }
168
- },
169
- "AppDetails": {
170
- "id": "AppDetails",
171
- "type": "object",
172
- "properties": {
173
- "contactEmail": {
174
- "type": "string",
175
- "description": "The user-visible support email for this app."
176
- },
177
- "contactPhone": {
178
- "type": "string",
179
- "description": "The user-visible support telephone number for this app."
180
- },
181
- "contactWebsite": {
182
- "type": "string",
183
- "description": "The user-visible website for this app."
184
- },
185
- "defaultLanguage": {
186
- "type": "string",
187
- "description": "Default language code, in BCP 47 format (eg \"en-US\")."
188
- }
189
- }
190
- },
191
- "AppEdit": {
192
- "id": "AppEdit",
193
- "type": "object",
194
- "description": "Represents an edit of an app. An edit allows clients to make multiple changes before committing them in one operation.",
195
- "properties": {
196
- "expiryTimeSeconds": {
197
- "type": "string",
198
- "description": "The time at which the edit will expire and will be no longer valid for use in any subsequent API calls (encoded as seconds since the Epoch)."
199
- },
200
- "id": {
201
- "type": "string",
202
- "description": "The ID of the edit that can be used in subsequent API calls."
203
- }
204
- }
205
- },
206
- "ExpansionFile": {
207
- "id": "ExpansionFile",
208
- "type": "object",
209
- "properties": {
210
- "fileSize": {
211
- "type": "string",
212
- "description": "If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.",
213
- "format": "int64"
214
- },
215
- "referencesVersion": {
216
- "type": "integer",
217
- "description": "If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.",
218
- "format": "int32"
219
- }
220
- }
221
- },
222
- "ExpansionFilesUploadResponse": {
223
- "id": "ExpansionFilesUploadResponse",
224
- "type": "object",
225
- "properties": {
226
- "expansionFile": {
227
- "$ref": "ExpansionFile"
228
- }
229
- }
230
- },
231
- "Image": {
232
- "id": "Image",
233
- "type": "object",
234
- "properties": {
235
- "id": {
236
- "type": "string",
237
- "description": "A unique id representing this image."
238
- },
239
- "sha1": {
240
- "type": "string",
241
- "description": "A sha1 hash of the image that was uploaded."
242
- },
243
- "url": {
244
- "type": "string",
245
- "description": "A URL that will serve a preview of the image."
246
- }
247
- }
248
- },
249
- "ImagesDeleteAllResponse": {
250
- "id": "ImagesDeleteAllResponse",
251
- "type": "object",
252
- "properties": {
253
- "deleted": {
254
- "type": "array",
255
- "items": {
256
- "$ref": "Image"
257
- }
258
- }
259
- }
260
- },
261
- "ImagesListResponse": {
262
- "id": "ImagesListResponse",
263
- "type": "object",
264
- "properties": {
265
- "images": {
266
- "type": "array",
267
- "items": {
268
- "$ref": "Image"
269
- }
270
- }
271
- }
272
- },
273
- "ImagesUploadResponse": {
274
- "id": "ImagesUploadResponse",
275
- "type": "object",
276
- "properties": {
277
- "image": {
278
- "$ref": "Image"
279
- }
280
- }
281
- },
282
- "InAppProduct": {
283
- "id": "InAppProduct",
284
- "type": "object",
285
- "properties": {
286
- "defaultLanguage": {
287
- "type": "string",
288
- "description": "The default language of the localized data, as defined by BCP 47. e.g. \"en-US\", \"en-GB\"."
289
- },
290
- "defaultPrice": {
291
- "$ref": "Price",
292
- "description": "Default price cannot be zero. In-app products can never be free. Default price is always in the developer's Checkout merchant currency."
293
- },
294
- "listings": {
295
- "type": "object",
296
- "description": "List of localized title and description data.",
297
- "additionalProperties": {
298
- "$ref": "InAppProductListing",
299
- "description": "The language of the localized data, as defined by BCP 47. i.e.: \"en-US\", \"en-GB\"."
300
- }
301
- },
302
- "packageName": {
303
- "type": "string",
304
- "description": "The package name of the parent app."
305
- },
306
- "prices": {
307
- "type": "object",
308
- "description": "Prices per buyer region. None of these prices should be zero. In-app products can never be free.",
309
- "additionalProperties": {
310
- "$ref": "Price",
311
- "description": "Region code, as defined by ISO 3166-2."
312
- }
313
- },
314
- "purchaseType": {
315
- "type": "string",
316
- "description": "Purchase type enum value. Unmodifiable after creation."
317
- },
318
- "season": {
319
- "$ref": "Season",
320
- "description": "Definition of a season for a seasonal subscription. Can be defined only for yearly subscriptions."
321
- },
322
- "sku": {
323
- "type": "string",
324
- "description": "The stock-keeping-unit (SKU) of the product, unique within an app."
325
- },
326
- "status": {
327
- "type": "string"
328
- },
329
- "subscriptionPeriod": {
330
- "type": "string",
331
- "description": "The period of the subscription (if any), i.e. period at which payments must happen. Defined as ISO 8601 duration, i.e. \"P1M\" for 1 month period."
332
- },
333
- "trialPeriod": {
334
- "type": "string",
335
- "description": "Trial period, specified in ISO 8601 format. Acceptable values are anything between \"P7D\" (seven days) and \"P999D\" (999 days). Seasonal subscriptions cannot have a trial period."
336
- }
337
- }
338
- },
339
- "InAppProductListing": {
340
- "id": "InAppProductListing",
341
- "type": "object",
342
- "properties": {
343
- "description": {
344
- "type": "string"
345
- },
346
- "title": {
347
- "type": "string"
348
- }
349
- }
350
- },
351
- "InappproductsBatchRequest": {
352
- "id": "InappproductsBatchRequest",
353
- "type": "object",
354
- "properties": {
355
- "entrys": {
356
- "type": "array",
357
- "items": {
358
- "$ref": "InappproductsBatchRequestEntry"
359
- }
360
- }
361
- }
362
- },
363
- "InappproductsBatchRequestEntry": {
364
- "id": "InappproductsBatchRequestEntry",
365
- "type": "object",
366
- "properties": {
367
- "batchId": {
368
- "type": "integer",
369
- "format": "uint32"
370
- },
371
- "inappproductsinsertrequest": {
372
- "$ref": "InappproductsInsertRequest"
373
- },
374
- "inappproductsupdaterequest": {
375
- "$ref": "InappproductsUpdateRequest"
376
- },
377
- "methodName": {
378
- "type": "string"
379
- }
380
- }
381
- },
382
- "InappproductsBatchResponse": {
383
- "id": "InappproductsBatchResponse",
384
- "type": "object",
385
- "properties": {
386
- "entrys": {
387
- "type": "array",
388
- "items": {
389
- "$ref": "InappproductsBatchResponseEntry"
390
- }
391
- },
392
- "kind": {
393
- "type": "string",
394
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsBatchResponse\".",
395
- "default": "androidpublisher#inappproductsBatchResponse"
396
- }
397
- }
398
- },
399
- "InappproductsBatchResponseEntry": {
400
- "id": "InappproductsBatchResponseEntry",
401
- "type": "object",
402
- "properties": {
403
- "batchId": {
404
- "type": "integer",
405
- "format": "uint32"
406
- },
407
- "inappproductsinsertresponse": {
408
- "$ref": "InappproductsInsertResponse"
409
- },
410
- "inappproductsupdateresponse": {
411
- "$ref": "InappproductsUpdateResponse"
412
- }
413
- }
414
- },
415
- "InappproductsInsertRequest": {
416
- "id": "InappproductsInsertRequest",
417
- "type": "object",
418
- "properties": {
419
- "inappproduct": {
420
- "$ref": "InAppProduct"
421
- }
422
- }
423
- },
424
- "InappproductsInsertResponse": {
425
- "id": "InappproductsInsertResponse",
426
- "type": "object",
427
- "properties": {
428
- "inappproduct": {
429
- "$ref": "InAppProduct"
430
- }
431
- }
432
- },
433
- "InappproductsListResponse": {
434
- "id": "InappproductsListResponse",
435
- "type": "object",
436
- "properties": {
437
- "inappproduct": {
438
- "type": "array",
439
- "items": {
440
- "$ref": "InAppProduct"
441
- }
442
- },
443
- "kind": {
444
- "type": "string",
445
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsListResponse\".",
446
- "default": "androidpublisher#inappproductsListResponse"
447
- },
448
- "pageInfo": {
449
- "$ref": "PageInfo"
450
- },
451
- "tokenPagination": {
452
- "$ref": "TokenPagination"
453
- }
454
- }
455
- },
456
- "InappproductsUpdateRequest": {
457
- "id": "InappproductsUpdateRequest",
458
- "type": "object",
459
- "properties": {
460
- "inappproduct": {
461
- "$ref": "InAppProduct"
462
- }
463
- }
464
- },
465
- "InappproductsUpdateResponse": {
466
- "id": "InappproductsUpdateResponse",
467
- "type": "object",
468
- "properties": {
469
- "inappproduct": {
470
- "$ref": "InAppProduct"
471
- }
472
- }
473
- },
474
- "Listing": {
475
- "id": "Listing",
476
- "type": "object",
477
- "properties": {
478
- "fullDescription": {
479
- "type": "string",
480
- "description": "Full description of the app; this may be up to 4000 characters in length."
481
- },
482
- "language": {
483
- "type": "string",
484
- "description": "Language localization code (for example, \"de-AT\" for Austrian German)."
485
- },
486
- "shortDescription": {
487
- "type": "string",
488
- "description": "Short description of the app (previously known as promo text); this may be up to 80 characters in length."
489
- },
490
- "title": {
491
- "type": "string",
492
- "description": "App's localized title."
493
- },
494
- "video": {
495
- "type": "string",
496
- "description": "URL of a promotional YouTube video for the app."
497
- }
498
- }
499
- },
500
- "ListingsListResponse": {
501
- "id": "ListingsListResponse",
502
- "type": "object",
503
- "properties": {
504
- "kind": {
505
- "type": "string",
506
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#listingsListResponse\".",
507
- "default": "androidpublisher#listingsListResponse"
508
- },
509
- "listings": {
510
- "type": "array",
511
- "items": {
512
- "$ref": "Listing"
513
- }
514
- }
515
- }
516
- },
517
- "MonthDay": {
518
- "id": "MonthDay",
519
- "type": "object",
520
- "properties": {
521
- "day": {
522
- "type": "integer",
523
- "description": "Day of a month, value in [1, 31] range. Valid range depends on the specified month.",
524
- "format": "uint32"
525
- },
526
- "month": {
527
- "type": "integer",
528
- "description": "Month of a year. e.g. 1 = JAN, 2 = FEB etc.",
529
- "format": "uint32"
530
- }
531
- }
532
- },
533
- "PageInfo": {
534
- "id": "PageInfo",
535
- "type": "object",
536
- "properties": {
537
- "resultPerPage": {
538
- "type": "integer",
539
- "format": "int32"
540
- },
541
- "startIndex": {
542
- "type": "integer",
543
- "format": "int32"
544
- },
545
- "totalResults": {
546
- "type": "integer",
547
- "format": "int32"
548
- }
549
- }
550
- },
551
- "Price": {
552
- "id": "Price",
553
- "type": "object",
554
- "properties": {
555
- "currency": {
556
- "type": "string",
557
- "description": "3 letter Currency code, as defined by ISO 4217."
558
- },
559
- "priceMicros": {
560
- "type": "string",
561
- "description": "The price in millionths of the currency base unit represented as a string."
562
- }
563
- }
564
- },
565
- "ProductPurchase": {
566
- "id": "ProductPurchase",
567
- "type": "object",
568
- "description": "A ProductPurchase resource indicates the status of a user's inapp product purchase.",
569
- "properties": {
570
- "consumptionState": {
571
- "type": "integer",
572
- "description": "The consumption state of the inapp product. Possible values are: \n- Yet to be consumed \n- Consumed",
573
- "format": "int32"
574
- },
575
- "developerPayload": {
576
- "type": "string",
577
- "description": "A developer-specified string that contains supplemental information about an order."
578
- },
579
- "kind": {
580
- "type": "string",
581
- "description": "This kind represents an inappPurchase object in the androidpublisher service.",
582
- "default": "androidpublisher#productPurchase"
583
- },
584
- "purchaseState": {
585
- "type": "integer",
586
- "description": "The purchase state of the order. Possible values are: \n- Purchased \n- Cancelled",
587
- "format": "int32"
588
- },
589
- "purchaseTimeMillis": {
590
- "type": "string",
591
- "description": "The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).",
592
- "format": "int64"
593
- }
594
- }
595
- },
596
- "Season": {
597
- "id": "Season",
598
- "type": "object",
599
- "properties": {
600
- "end": {
601
- "$ref": "MonthDay",
602
- "description": "Inclusive end date of the recurrence period."
603
- },
604
- "start": {
605
- "$ref": "MonthDay",
606
- "description": "Inclusive start date of the recurrence period."
607
- }
608
- }
609
- },
610
- "SubscriptionDeferralInfo": {
611
- "id": "SubscriptionDeferralInfo",
612
- "type": "object",
613
- "description": "A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.",
614
- "properties": {
615
- "desiredExpiryTimeMillis": {
616
- "type": "string",
617
- "description": "The desired next expiry time for the subscription in milliseconds since Epoch. The given time must be after the current expiry time for the subscription.",
618
- "format": "int64"
619
- },
620
- "expectedExpiryTimeMillis": {
621
- "type": "string",
622
- "description": "The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.",
623
- "format": "int64"
624
- }
625
- }
626
- },
627
- "SubscriptionPurchase": {
628
- "id": "SubscriptionPurchase",
629
- "type": "object",
630
- "description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.",
631
- "properties": {
632
- "autoRenewing": {
633
- "type": "boolean",
634
- "description": "Whether the subscription will automatically be renewed when it reaches its current expiry time."
635
- },
636
- "expiryTimeMillis": {
637
- "type": "string",
638
- "description": "Time at which the subscription will expire, in milliseconds since Epoch.",
639
- "format": "int64"
640
- },
641
- "kind": {
642
- "type": "string",
643
- "description": "This kind represents a subscriptionPurchase object in the androidpublisher service.",
644
- "default": "androidpublisher#subscriptionPurchase"
645
- },
646
- "startTimeMillis": {
647
- "type": "string",
648
- "description": "Time at which the subscription was granted, in milliseconds since Epoch.",
649
- "format": "int64"
650
- }
651
- }
652
- },
653
- "SubscriptionPurchasesDeferRequest": {
654
- "id": "SubscriptionPurchasesDeferRequest",
655
- "type": "object",
656
- "properties": {
657
- "deferralInfo": {
658
- "$ref": "SubscriptionDeferralInfo",
659
- "description": "The information about the new desired expiry time for the subscription."
660
- }
661
- }
662
- },
663
- "SubscriptionPurchasesDeferResponse": {
664
- "id": "SubscriptionPurchasesDeferResponse",
665
- "type": "object",
666
- "properties": {
667
- "newExpiryTimeMillis": {
668
- "type": "string",
669
- "description": "The new expiry time for the subscription in milliseconds since the Epoch.",
670
- "format": "int64"
671
- }
672
- }
673
- },
674
- "Testers": {
675
- "id": "Testers",
676
- "type": "object",
677
- "properties": {
678
- "googleGroups": {
679
- "type": "array",
680
- "items": {
681
- "type": "string"
682
- }
683
- },
684
- "googlePlusCommunities": {
685
- "type": "array",
686
- "items": {
687
- "type": "string"
688
- }
689
- }
690
- }
691
- },
692
- "TokenPagination": {
693
- "id": "TokenPagination",
694
- "type": "object",
695
- "properties": {
696
- "nextPageToken": {
697
- "type": "string"
698
- },
699
- "previousPageToken": {
700
- "type": "string"
701
- }
702
- }
703
- },
704
- "Track": {
705
- "id": "Track",
706
- "type": "object",
707
- "properties": {
708
- "track": {
709
- "type": "string"
710
- },
711
- "userFraction": {
712
- "type": "number",
713
- "format": "double"
714
- },
715
- "versionCodes": {
716
- "type": "array",
717
- "items": {
718
- "type": "integer",
719
- "format": "int32"
720
- }
721
- }
722
- }
723
- },
724
- "TracksListResponse": {
725
- "id": "TracksListResponse",
726
- "type": "object",
727
- "properties": {
728
- "kind": {
729
- "type": "string",
730
- "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#tracksListResponse\".",
731
- "default": "androidpublisher#tracksListResponse"
732
- },
733
- "tracks": {
734
- "type": "array",
735
- "items": {
736
- "$ref": "Track"
737
- }
738
- }
739
- }
740
- }
741
- },
742
- "resources": {
743
- "edits": {
744
- "methods": {
745
- "commit": {
746
- "id": "androidpublisher.edits.commit",
747
- "path": "{packageName}/edits/{editId}:commit",
748
- "httpMethod": "POST",
749
- "description": "Commits/applies the changes made in this edit back to the app.",
750
- "parameters": {
751
- "editId": {
752
- "type": "string",
753
- "description": "Unique identifier for this edit.",
754
- "required": true,
755
- "location": "path"
756
- },
757
- "packageName": {
758
- "type": "string",
759
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
760
- "required": true,
761
- "location": "path"
762
- }
763
- },
764
- "parameterOrder": [
765
- "packageName",
766
- "editId"
767
- ],
768
- "response": {
769
- "$ref": "AppEdit"
770
- },
771
- "scopes": [
772
- "https://www.googleapis.com/auth/androidpublisher"
773
- ]
774
- },
775
- "delete": {
776
- "id": "androidpublisher.edits.delete",
777
- "path": "{packageName}/edits/{editId}",
778
- "httpMethod": "DELETE",
779
- "description": "Deletes an edit for an app. Creating a new edit will automatically delete any of your previous edits so this method need only be called if you want to preemptively abandon an edit.",
780
- "parameters": {
781
- "editId": {
782
- "type": "string",
783
- "description": "Unique identifier for this edit.",
784
- "required": true,
785
- "location": "path"
786
- },
787
- "packageName": {
788
- "type": "string",
789
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
790
- "required": true,
791
- "location": "path"
792
- }
793
- },
794
- "parameterOrder": [
795
- "packageName",
796
- "editId"
797
- ],
798
- "scopes": [
799
- "https://www.googleapis.com/auth/androidpublisher"
800
- ]
801
- },
802
- "get": {
803
- "id": "androidpublisher.edits.get",
804
- "path": "{packageName}/edits/{editId}",
805
- "httpMethod": "GET",
806
- "description": "Returns information about the edit specified. Calls will fail if the edit is no long active (e.g. has been deleted, superseded or expired).",
807
- "parameters": {
808
- "editId": {
809
- "type": "string",
810
- "description": "Unique identifier for this edit.",
811
- "required": true,
812
- "location": "path"
813
- },
814
- "packageName": {
815
- "type": "string",
816
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
817
- "required": true,
818
- "location": "path"
819
- }
820
- },
821
- "parameterOrder": [
822
- "packageName",
823
- "editId"
824
- ],
825
- "response": {
826
- "$ref": "AppEdit"
827
- },
828
- "scopes": [
829
- "https://www.googleapis.com/auth/androidpublisher"
830
- ]
831
- },
832
- "insert": {
833
- "id": "androidpublisher.edits.insert",
834
- "path": "{packageName}/edits",
835
- "httpMethod": "POST",
836
- "description": "Creates a new edit for an app, populated with the app's current state.",
837
- "parameters": {
838
- "packageName": {
839
- "type": "string",
840
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
841
- "required": true,
842
- "location": "path"
843
- }
844
- },
845
- "parameterOrder": [
846
- "packageName"
847
- ],
848
- "request": {
849
- "$ref": "AppEdit"
850
- },
851
- "response": {
852
- "$ref": "AppEdit"
853
- },
854
- "scopes": [
855
- "https://www.googleapis.com/auth/androidpublisher"
856
- ]
857
- },
858
- "validate": {
859
- "id": "androidpublisher.edits.validate",
860
- "path": "{packageName}/edits/{editId}:validate",
861
- "httpMethod": "POST",
862
- "description": "Checks that the edit can be successfully committed. The edit's changes are not applied to the live app.",
863
- "parameters": {
864
- "editId": {
865
- "type": "string",
866
- "description": "Unique identifier for this edit.",
867
- "required": true,
868
- "location": "path"
869
- },
870
- "packageName": {
871
- "type": "string",
872
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
873
- "required": true,
874
- "location": "path"
875
- }
876
- },
877
- "parameterOrder": [
878
- "packageName",
879
- "editId"
880
- ],
881
- "response": {
882
- "$ref": "AppEdit"
883
- },
884
- "scopes": [
885
- "https://www.googleapis.com/auth/androidpublisher"
886
- ]
887
- }
888
- },
889
- "resources": {
890
- "apklistings": {
891
- "methods": {
892
- "delete": {
893
- "id": "androidpublisher.edits.apklistings.delete",
894
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}",
895
- "httpMethod": "DELETE",
896
- "description": "Deletes the APK-specific localized listing for a specified APK and language code.",
897
- "parameters": {
898
- "apkVersionCode": {
899
- "type": "integer",
900
- "description": "The APK version code whose APK-specific listings should be read or modified.",
901
- "required": true,
902
- "format": "int32",
903
- "location": "path"
904
- },
905
- "editId": {
906
- "type": "string",
907
- "description": "Unique identifier for this edit.",
908
- "required": true,
909
- "location": "path"
910
- },
911
- "language": {
912
- "type": "string",
913
- "description": "The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
914
- "required": true,
915
- "location": "path"
916
- },
917
- "packageName": {
918
- "type": "string",
919
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
920
- "required": true,
921
- "location": "path"
922
- }
923
- },
924
- "parameterOrder": [
925
- "packageName",
926
- "editId",
927
- "apkVersionCode",
928
- "language"
929
- ],
930
- "scopes": [
931
- "https://www.googleapis.com/auth/androidpublisher"
932
- ]
933
- },
934
- "deleteall": {
935
- "id": "androidpublisher.edits.apklistings.deleteall",
936
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings",
937
- "httpMethod": "DELETE",
938
- "description": "Deletes all the APK-specific localized listings for a specified APK.",
939
- "parameters": {
940
- "apkVersionCode": {
941
- "type": "integer",
942
- "description": "The APK version code whose APK-specific listings should be read or modified.",
943
- "required": true,
944
- "format": "int32",
945
- "location": "path"
946
- },
947
- "editId": {
948
- "type": "string",
949
- "description": "Unique identifier for this edit.",
950
- "required": true,
951
- "location": "path"
952
- },
953
- "packageName": {
954
- "type": "string",
955
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
956
- "required": true,
957
- "location": "path"
958
- }
959
- },
960
- "parameterOrder": [
961
- "packageName",
962
- "editId",
963
- "apkVersionCode"
964
- ],
965
- "scopes": [
966
- "https://www.googleapis.com/auth/androidpublisher"
967
- ]
968
- },
969
- "get": {
970
- "id": "androidpublisher.edits.apklistings.get",
971
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}",
972
- "httpMethod": "GET",
973
- "description": "Fetches the APK-specific localized listing for a specified APK and language code.",
974
- "parameters": {
975
- "apkVersionCode": {
976
- "type": "integer",
977
- "description": "The APK version code whose APK-specific listings should be read or modified.",
978
- "required": true,
979
- "format": "int32",
980
- "location": "path"
981
- },
982
- "editId": {
983
- "type": "string",
984
- "description": "Unique identifier for this edit.",
985
- "required": true,
986
- "location": "path"
987
- },
988
- "language": {
989
- "type": "string",
990
- "description": "The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
991
- "required": true,
992
- "location": "path"
993
- },
994
- "packageName": {
995
- "type": "string",
996
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
997
- "required": true,
998
- "location": "path"
999
- }
1000
- },
1001
- "parameterOrder": [
1002
- "packageName",
1003
- "editId",
1004
- "apkVersionCode",
1005
- "language"
1006
- ],
1007
- "response": {
1008
- "$ref": "ApkListing"
1009
- },
1010
- "scopes": [
1011
- "https://www.googleapis.com/auth/androidpublisher"
1012
- ]
1013
- },
1014
- "list": {
1015
- "id": "androidpublisher.edits.apklistings.list",
1016
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings",
1017
- "httpMethod": "GET",
1018
- "description": "Lists all the APK-specific localized listings for a specified APK.",
1019
- "parameters": {
1020
- "apkVersionCode": {
1021
- "type": "integer",
1022
- "description": "The APK version code whose APK-specific listings should be read or modified.",
1023
- "required": true,
1024
- "format": "int32",
1025
- "location": "path"
1026
- },
1027
- "editId": {
1028
- "type": "string",
1029
- "description": "Unique identifier for this edit.",
1030
- "required": true,
1031
- "location": "path"
1032
- },
1033
- "packageName": {
1034
- "type": "string",
1035
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1036
- "required": true,
1037
- "location": "path"
1038
- }
1039
- },
1040
- "parameterOrder": [
1041
- "packageName",
1042
- "editId",
1043
- "apkVersionCode"
1044
- ],
1045
- "response": {
1046
- "$ref": "ApkListingsListResponse"
1047
- },
1048
- "scopes": [
1049
- "https://www.googleapis.com/auth/androidpublisher"
1050
- ]
1051
- },
1052
- "patch": {
1053
- "id": "androidpublisher.edits.apklistings.patch",
1054
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}",
1055
- "httpMethod": "PATCH",
1056
- "description": "Updates or creates the APK-specific localized listing for a specified APK and language code. This method supports patch semantics.",
1057
- "parameters": {
1058
- "apkVersionCode": {
1059
- "type": "integer",
1060
- "description": "The APK version code whose APK-specific listings should be read or modified.",
1061
- "required": true,
1062
- "format": "int32",
1063
- "location": "path"
1064
- },
1065
- "editId": {
1066
- "type": "string",
1067
- "description": "Unique identifier for this edit.",
1068
- "required": true,
1069
- "location": "path"
1070
- },
1071
- "language": {
1072
- "type": "string",
1073
- "description": "The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
1074
- "required": true,
1075
- "location": "path"
1076
- },
1077
- "packageName": {
1078
- "type": "string",
1079
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1080
- "required": true,
1081
- "location": "path"
1082
- }
1083
- },
1084
- "parameterOrder": [
1085
- "packageName",
1086
- "editId",
1087
- "apkVersionCode",
1088
- "language"
1089
- ],
1090
- "request": {
1091
- "$ref": "ApkListing"
1092
- },
1093
- "response": {
1094
- "$ref": "ApkListing"
1095
- },
1096
- "scopes": [
1097
- "https://www.googleapis.com/auth/androidpublisher"
1098
- ]
1099
- },
1100
- "update": {
1101
- "id": "androidpublisher.edits.apklistings.update",
1102
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}",
1103
- "httpMethod": "PUT",
1104
- "description": "Updates or creates the APK-specific localized listing for a specified APK and language code.",
1105
- "parameters": {
1106
- "apkVersionCode": {
1107
- "type": "integer",
1108
- "description": "The APK version code whose APK-specific listings should be read or modified.",
1109
- "required": true,
1110
- "format": "int32",
1111
- "location": "path"
1112
- },
1113
- "editId": {
1114
- "type": "string",
1115
- "description": "Unique identifier for this edit.",
1116
- "required": true,
1117
- "location": "path"
1118
- },
1119
- "language": {
1120
- "type": "string",
1121
- "description": "The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
1122
- "required": true,
1123
- "location": "path"
1124
- },
1125
- "packageName": {
1126
- "type": "string",
1127
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1128
- "required": true,
1129
- "location": "path"
1130
- }
1131
- },
1132
- "parameterOrder": [
1133
- "packageName",
1134
- "editId",
1135
- "apkVersionCode",
1136
- "language"
1137
- ],
1138
- "request": {
1139
- "$ref": "ApkListing"
1140
- },
1141
- "response": {
1142
- "$ref": "ApkListing"
1143
- },
1144
- "scopes": [
1145
- "https://www.googleapis.com/auth/androidpublisher"
1146
- ]
1147
- }
1148
- }
1149
- },
1150
- "apks": {
1151
- "methods": {
1152
- "list": {
1153
- "id": "androidpublisher.edits.apks.list",
1154
- "path": "{packageName}/edits/{editId}/apks",
1155
- "httpMethod": "GET",
1156
- "parameters": {
1157
- "editId": {
1158
- "type": "string",
1159
- "description": "Unique identifier for this edit.",
1160
- "required": true,
1161
- "location": "path"
1162
- },
1163
- "packageName": {
1164
- "type": "string",
1165
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1166
- "required": true,
1167
- "location": "path"
1168
- }
1169
- },
1170
- "parameterOrder": [
1171
- "packageName",
1172
- "editId"
1173
- ],
1174
- "response": {
1175
- "$ref": "ApksListResponse"
1176
- },
1177
- "scopes": [
1178
- "https://www.googleapis.com/auth/androidpublisher"
1179
- ]
1180
- },
1181
- "upload": {
1182
- "id": "androidpublisher.edits.apks.upload",
1183
- "path": "{packageName}/edits/{editId}/apks",
1184
- "httpMethod": "POST",
1185
- "parameters": {
1186
- "editId": {
1187
- "type": "string",
1188
- "description": "Unique identifier for this edit.",
1189
- "required": true,
1190
- "location": "path"
1191
- },
1192
- "packageName": {
1193
- "type": "string",
1194
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1195
- "required": true,
1196
- "location": "path"
1197
- }
1198
- },
1199
- "parameterOrder": [
1200
- "packageName",
1201
- "editId"
1202
- ],
1203
- "response": {
1204
- "$ref": "Apk"
1205
- },
1206
- "scopes": [
1207
- "https://www.googleapis.com/auth/androidpublisher"
1208
- ],
1209
- "supportsMediaUpload": true,
1210
- "mediaUpload": {
1211
- "accept": [
1212
- "application/octet-stream",
1213
- "application/vnd.android.package-archive"
1214
- ],
1215
- "maxSize": "1GB",
1216
- "protocols": {
1217
- "simple": {
1218
- "multipart": true,
1219
- "path": "/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"
1220
- },
1221
- "resumable": {
1222
- "multipart": true,
1223
- "path": "/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks"
1224
- }
1225
- }
1226
- }
1227
- }
1228
- }
1229
- },
1230
- "details": {
1231
- "methods": {
1232
- "get": {
1233
- "id": "androidpublisher.edits.details.get",
1234
- "path": "{packageName}/edits/{editId}/details",
1235
- "httpMethod": "GET",
1236
- "description": "Fetches app details for this edit. This includes the default language and developer support contact information.",
1237
- "parameters": {
1238
- "editId": {
1239
- "type": "string",
1240
- "description": "Unique identifier for this edit.",
1241
- "required": true,
1242
- "location": "path"
1243
- },
1244
- "packageName": {
1245
- "type": "string",
1246
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1247
- "required": true,
1248
- "location": "path"
1249
- }
1250
- },
1251
- "parameterOrder": [
1252
- "packageName",
1253
- "editId"
1254
- ],
1255
- "response": {
1256
- "$ref": "AppDetails"
1257
- },
1258
- "scopes": [
1259
- "https://www.googleapis.com/auth/androidpublisher"
1260
- ]
1261
- },
1262
- "patch": {
1263
- "id": "androidpublisher.edits.details.patch",
1264
- "path": "{packageName}/edits/{editId}/details",
1265
- "httpMethod": "PATCH",
1266
- "description": "Updates app details for this edit. This method supports patch semantics.",
1267
- "parameters": {
1268
- "editId": {
1269
- "type": "string",
1270
- "description": "Unique identifier for this edit.",
1271
- "required": true,
1272
- "location": "path"
1273
- },
1274
- "packageName": {
1275
- "type": "string",
1276
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1277
- "required": true,
1278
- "location": "path"
1279
- }
1280
- },
1281
- "parameterOrder": [
1282
- "packageName",
1283
- "editId"
1284
- ],
1285
- "request": {
1286
- "$ref": "AppDetails"
1287
- },
1288
- "response": {
1289
- "$ref": "AppDetails"
1290
- },
1291
- "scopes": [
1292
- "https://www.googleapis.com/auth/androidpublisher"
1293
- ]
1294
- },
1295
- "update": {
1296
- "id": "androidpublisher.edits.details.update",
1297
- "path": "{packageName}/edits/{editId}/details",
1298
- "httpMethod": "PUT",
1299
- "description": "Updates app details for this edit.",
1300
- "parameters": {
1301
- "editId": {
1302
- "type": "string",
1303
- "description": "Unique identifier for this edit.",
1304
- "required": true,
1305
- "location": "path"
1306
- },
1307
- "packageName": {
1308
- "type": "string",
1309
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1310
- "required": true,
1311
- "location": "path"
1312
- }
1313
- },
1314
- "parameterOrder": [
1315
- "packageName",
1316
- "editId"
1317
- ],
1318
- "request": {
1319
- "$ref": "AppDetails"
1320
- },
1321
- "response": {
1322
- "$ref": "AppDetails"
1323
- },
1324
- "scopes": [
1325
- "https://www.googleapis.com/auth/androidpublisher"
1326
- ]
1327
- }
1328
- }
1329
- },
1330
- "expansionfiles": {
1331
- "methods": {
1332
- "get": {
1333
- "id": "androidpublisher.edits.expansionfiles.get",
1334
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}",
1335
- "httpMethod": "GET",
1336
- "description": "Fetches the Expansion File configuration for the APK specified.",
1337
- "parameters": {
1338
- "apkVersionCode": {
1339
- "type": "integer",
1340
- "description": "The version code of the APK whose Expansion File configuration is being read or modified.",
1341
- "required": true,
1342
- "format": "int32",
1343
- "location": "path"
1344
- },
1345
- "editId": {
1346
- "type": "string",
1347
- "description": "Unique identifier for this edit.",
1348
- "required": true,
1349
- "location": "path"
1350
- },
1351
- "expansionFileType": {
1352
- "type": "string",
1353
- "required": true,
1354
- "enum": [
1355
- "main",
1356
- "patch"
1357
- ],
1358
- "enumDescriptions": [
1359
- "",
1360
- ""
1361
- ],
1362
- "location": "path"
1363
- },
1364
- "packageName": {
1365
- "type": "string",
1366
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1367
- "required": true,
1368
- "location": "path"
1369
- }
1370
- },
1371
- "parameterOrder": [
1372
- "packageName",
1373
- "editId",
1374
- "apkVersionCode",
1375
- "expansionFileType"
1376
- ],
1377
- "response": {
1378
- "$ref": "ExpansionFile"
1379
- },
1380
- "scopes": [
1381
- "https://www.googleapis.com/auth/androidpublisher"
1382
- ]
1383
- },
1384
- "patch": {
1385
- "id": "androidpublisher.edits.expansionfiles.patch",
1386
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}",
1387
- "httpMethod": "PATCH",
1388
- "description": "Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.",
1389
- "parameters": {
1390
- "apkVersionCode": {
1391
- "type": "integer",
1392
- "description": "The version code of the APK whose Expansion File configuration is being read or modified.",
1393
- "required": true,
1394
- "format": "int32",
1395
- "location": "path"
1396
- },
1397
- "editId": {
1398
- "type": "string",
1399
- "description": "Unique identifier for this edit.",
1400
- "required": true,
1401
- "location": "path"
1402
- },
1403
- "expansionFileType": {
1404
- "type": "string",
1405
- "required": true,
1406
- "enum": [
1407
- "main",
1408
- "patch"
1409
- ],
1410
- "enumDescriptions": [
1411
- "",
1412
- ""
1413
- ],
1414
- "location": "path"
1415
- },
1416
- "packageName": {
1417
- "type": "string",
1418
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1419
- "required": true,
1420
- "location": "path"
1421
- }
1422
- },
1423
- "parameterOrder": [
1424
- "packageName",
1425
- "editId",
1426
- "apkVersionCode",
1427
- "expansionFileType"
1428
- ],
1429
- "request": {
1430
- "$ref": "ExpansionFile"
1431
- },
1432
- "response": {
1433
- "$ref": "ExpansionFile"
1434
- },
1435
- "scopes": [
1436
- "https://www.googleapis.com/auth/androidpublisher"
1437
- ]
1438
- },
1439
- "update": {
1440
- "id": "androidpublisher.edits.expansionfiles.update",
1441
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}",
1442
- "httpMethod": "PUT",
1443
- "description": "Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.",
1444
- "parameters": {
1445
- "apkVersionCode": {
1446
- "type": "integer",
1447
- "description": "The version code of the APK whose Expansion File configuration is being read or modified.",
1448
- "required": true,
1449
- "format": "int32",
1450
- "location": "path"
1451
- },
1452
- "editId": {
1453
- "type": "string",
1454
- "description": "Unique identifier for this edit.",
1455
- "required": true,
1456
- "location": "path"
1457
- },
1458
- "expansionFileType": {
1459
- "type": "string",
1460
- "required": true,
1461
- "enum": [
1462
- "main",
1463
- "patch"
1464
- ],
1465
- "enumDescriptions": [
1466
- "",
1467
- ""
1468
- ],
1469
- "location": "path"
1470
- },
1471
- "packageName": {
1472
- "type": "string",
1473
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1474
- "required": true,
1475
- "location": "path"
1476
- }
1477
- },
1478
- "parameterOrder": [
1479
- "packageName",
1480
- "editId",
1481
- "apkVersionCode",
1482
- "expansionFileType"
1483
- ],
1484
- "request": {
1485
- "$ref": "ExpansionFile"
1486
- },
1487
- "response": {
1488
- "$ref": "ExpansionFile"
1489
- },
1490
- "scopes": [
1491
- "https://www.googleapis.com/auth/androidpublisher"
1492
- ]
1493
- },
1494
- "upload": {
1495
- "id": "androidpublisher.edits.expansionfiles.upload",
1496
- "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}",
1497
- "httpMethod": "POST",
1498
- "description": "Uploads and attaches a new Expansion File to the APK specified.",
1499
- "parameters": {
1500
- "apkVersionCode": {
1501
- "type": "integer",
1502
- "description": "The version code of the APK whose Expansion File configuration is being read or modified.",
1503
- "required": true,
1504
- "format": "int32",
1505
- "location": "path"
1506
- },
1507
- "editId": {
1508
- "type": "string",
1509
- "description": "Unique identifier for this edit.",
1510
- "required": true,
1511
- "location": "path"
1512
- },
1513
- "expansionFileType": {
1514
- "type": "string",
1515
- "required": true,
1516
- "enum": [
1517
- "main",
1518
- "patch"
1519
- ],
1520
- "enumDescriptions": [
1521
- "",
1522
- ""
1523
- ],
1524
- "location": "path"
1525
- },
1526
- "packageName": {
1527
- "type": "string",
1528
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1529
- "required": true,
1530
- "location": "path"
1531
- }
1532
- },
1533
- "parameterOrder": [
1534
- "packageName",
1535
- "editId",
1536
- "apkVersionCode",
1537
- "expansionFileType"
1538
- ],
1539
- "response": {
1540
- "$ref": "ExpansionFilesUploadResponse"
1541
- },
1542
- "scopes": [
1543
- "https://www.googleapis.com/auth/androidpublisher"
1544
- ],
1545
- "supportsMediaUpload": true,
1546
- "mediaUpload": {
1547
- "accept": [
1548
- "application/octet-stream"
1549
- ],
1550
- "maxSize": "2048MB",
1551
- "protocols": {
1552
- "simple": {
1553
- "multipart": true,
1554
- "path": "/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"
1555
- },
1556
- "resumable": {
1557
- "multipart": true,
1558
- "path": "/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}"
1559
- }
1560
- }
1561
- }
1562
- }
1563
- }
1564
- },
1565
- "images": {
1566
- "methods": {
1567
- "delete": {
1568
- "id": "androidpublisher.edits.images.delete",
1569
- "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}",
1570
- "httpMethod": "DELETE",
1571
- "description": "Deletes the image (specified by id) from the edit.",
1572
- "parameters": {
1573
- "editId": {
1574
- "type": "string",
1575
- "description": "Unique identifier for this edit.",
1576
- "required": true,
1577
- "location": "path"
1578
- },
1579
- "imageId": {
1580
- "type": "string",
1581
- "description": "Unique identifier an image within the set of images attached to this edit.",
1582
- "required": true,
1583
- "location": "path"
1584
- },
1585
- "imageType": {
1586
- "type": "string",
1587
- "required": true,
1588
- "enum": [
1589
- "featureGraphic",
1590
- "icon",
1591
- "phoneScreenshots",
1592
- "promoGraphic",
1593
- "sevenInchScreenshots",
1594
- "tenInchScreenshots",
1595
- "tvBanner",
1596
- "tvScreenshots"
1597
- ],
1598
- "enumDescriptions": [
1599
- "",
1600
- "",
1601
- "",
1602
- "",
1603
- "",
1604
- "",
1605
- "",
1606
- ""
1607
- ],
1608
- "location": "path"
1609
- },
1610
- "language": {
1611
- "type": "string",
1612
- "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".",
1613
- "required": true,
1614
- "location": "path"
1615
- },
1616
- "packageName": {
1617
- "type": "string",
1618
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1619
- "required": true,
1620
- "location": "path"
1621
- }
1622
- },
1623
- "parameterOrder": [
1624
- "packageName",
1625
- "editId",
1626
- "language",
1627
- "imageType",
1628
- "imageId"
1629
- ],
1630
- "scopes": [
1631
- "https://www.googleapis.com/auth/androidpublisher"
1632
- ]
1633
- },
1634
- "deleteall": {
1635
- "id": "androidpublisher.edits.images.deleteall",
1636
- "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}",
1637
- "httpMethod": "DELETE",
1638
- "description": "Deletes all images for the specified language and image type.",
1639
- "parameters": {
1640
- "editId": {
1641
- "type": "string",
1642
- "description": "Unique identifier for this edit.",
1643
- "required": true,
1644
- "location": "path"
1645
- },
1646
- "imageType": {
1647
- "type": "string",
1648
- "required": true,
1649
- "enum": [
1650
- "featureGraphic",
1651
- "icon",
1652
- "phoneScreenshots",
1653
- "promoGraphic",
1654
- "sevenInchScreenshots",
1655
- "tenInchScreenshots",
1656
- "tvBanner",
1657
- "tvScreenshots"
1658
- ],
1659
- "enumDescriptions": [
1660
- "",
1661
- "",
1662
- "",
1663
- "",
1664
- "",
1665
- "",
1666
- "",
1667
- ""
1668
- ],
1669
- "location": "path"
1670
- },
1671
- "language": {
1672
- "type": "string",
1673
- "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".",
1674
- "required": true,
1675
- "location": "path"
1676
- },
1677
- "packageName": {
1678
- "type": "string",
1679
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1680
- "required": true,
1681
- "location": "path"
1682
- }
1683
- },
1684
- "parameterOrder": [
1685
- "packageName",
1686
- "editId",
1687
- "language",
1688
- "imageType"
1689
- ],
1690
- "response": {
1691
- "$ref": "ImagesDeleteAllResponse"
1692
- },
1693
- "scopes": [
1694
- "https://www.googleapis.com/auth/androidpublisher"
1695
- ]
1696
- },
1697
- "list": {
1698
- "id": "androidpublisher.edits.images.list",
1699
- "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}",
1700
- "httpMethod": "GET",
1701
- "description": "Lists all images for the specified language and image type.",
1702
- "parameters": {
1703
- "editId": {
1704
- "type": "string",
1705
- "description": "Unique identifier for this edit.",
1706
- "required": true,
1707
- "location": "path"
1708
- },
1709
- "imageType": {
1710
- "type": "string",
1711
- "required": true,
1712
- "enum": [
1713
- "featureGraphic",
1714
- "icon",
1715
- "phoneScreenshots",
1716
- "promoGraphic",
1717
- "sevenInchScreenshots",
1718
- "tenInchScreenshots",
1719
- "tvBanner",
1720
- "tvScreenshots"
1721
- ],
1722
- "enumDescriptions": [
1723
- "",
1724
- "",
1725
- "",
1726
- "",
1727
- "",
1728
- "",
1729
- "",
1730
- ""
1731
- ],
1732
- "location": "path"
1733
- },
1734
- "language": {
1735
- "type": "string",
1736
- "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".",
1737
- "required": true,
1738
- "location": "path"
1739
- },
1740
- "packageName": {
1741
- "type": "string",
1742
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1743
- "required": true,
1744
- "location": "path"
1745
- }
1746
- },
1747
- "parameterOrder": [
1748
- "packageName",
1749
- "editId",
1750
- "language",
1751
- "imageType"
1752
- ],
1753
- "response": {
1754
- "$ref": "ImagesListResponse"
1755
- },
1756
- "scopes": [
1757
- "https://www.googleapis.com/auth/androidpublisher"
1758
- ]
1759
- },
1760
- "upload": {
1761
- "id": "androidpublisher.edits.images.upload",
1762
- "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}",
1763
- "httpMethod": "POST",
1764
- "description": "Uploads a new image and adds it to the list of images for the specified language and image type.",
1765
- "parameters": {
1766
- "editId": {
1767
- "type": "string",
1768
- "description": "Unique identifier for this edit.",
1769
- "required": true,
1770
- "location": "path"
1771
- },
1772
- "imageType": {
1773
- "type": "string",
1774
- "required": true,
1775
- "enum": [
1776
- "featureGraphic",
1777
- "icon",
1778
- "phoneScreenshots",
1779
- "promoGraphic",
1780
- "sevenInchScreenshots",
1781
- "tenInchScreenshots",
1782
- "tvBanner",
1783
- "tvScreenshots"
1784
- ],
1785
- "enumDescriptions": [
1786
- "",
1787
- "",
1788
- "",
1789
- "",
1790
- "",
1791
- "",
1792
- "",
1793
- ""
1794
- ],
1795
- "location": "path"
1796
- },
1797
- "language": {
1798
- "type": "string",
1799
- "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".",
1800
- "required": true,
1801
- "location": "path"
1802
- },
1803
- "packageName": {
1804
- "type": "string",
1805
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1806
- "required": true,
1807
- "location": "path"
1808
- }
1809
- },
1810
- "parameterOrder": [
1811
- "packageName",
1812
- "editId",
1813
- "language",
1814
- "imageType"
1815
- ],
1816
- "response": {
1817
- "$ref": "ImagesUploadResponse"
1818
- },
1819
- "scopes": [
1820
- "https://www.googleapis.com/auth/androidpublisher"
1821
- ],
1822
- "supportsMediaUpload": true,
1823
- "mediaUpload": {
1824
- "accept": [
1825
- "image/*"
1826
- ],
1827
- "maxSize": "15MB",
1828
- "protocols": {
1829
- "simple": {
1830
- "multipart": true,
1831
- "path": "/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"
1832
- },
1833
- "resumable": {
1834
- "multipart": true,
1835
- "path": "/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}"
1836
- }
1837
- }
1838
- }
1839
- }
1840
- }
1841
- },
1842
- "listings": {
1843
- "methods": {
1844
- "delete": {
1845
- "id": "androidpublisher.edits.listings.delete",
1846
- "path": "{packageName}/edits/{editId}/listings/{language}",
1847
- "httpMethod": "DELETE",
1848
- "description": "Deletes the specified localized store listing from an edit.",
1849
- "parameters": {
1850
- "editId": {
1851
- "type": "string",
1852
- "description": "Unique identifier for this edit.",
1853
- "required": true,
1854
- "location": "path"
1855
- },
1856
- "language": {
1857
- "type": "string",
1858
- "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
1859
- "required": true,
1860
- "location": "path"
1861
- },
1862
- "packageName": {
1863
- "type": "string",
1864
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1865
- "required": true,
1866
- "location": "path"
1867
- }
1868
- },
1869
- "parameterOrder": [
1870
- "packageName",
1871
- "editId",
1872
- "language"
1873
- ],
1874
- "scopes": [
1875
- "https://www.googleapis.com/auth/androidpublisher"
1876
- ]
1877
- },
1878
- "deleteall": {
1879
- "id": "androidpublisher.edits.listings.deleteall",
1880
- "path": "{packageName}/edits/{editId}/listings",
1881
- "httpMethod": "DELETE",
1882
- "description": "Deletes all localized listings from an edit.",
1883
- "parameters": {
1884
- "editId": {
1885
- "type": "string",
1886
- "description": "Unique identifier for this edit.",
1887
- "required": true,
1888
- "location": "path"
1889
- },
1890
- "packageName": {
1891
- "type": "string",
1892
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1893
- "required": true,
1894
- "location": "path"
1895
- }
1896
- },
1897
- "parameterOrder": [
1898
- "packageName",
1899
- "editId"
1900
- ],
1901
- "scopes": [
1902
- "https://www.googleapis.com/auth/androidpublisher"
1903
- ]
1904
- },
1905
- "get": {
1906
- "id": "androidpublisher.edits.listings.get",
1907
- "path": "{packageName}/edits/{editId}/listings/{language}",
1908
- "httpMethod": "GET",
1909
- "description": "Fetches information about a localized store listing.",
1910
- "parameters": {
1911
- "editId": {
1912
- "type": "string",
1913
- "description": "Unique identifier for this edit.",
1914
- "required": true,
1915
- "location": "path"
1916
- },
1917
- "language": {
1918
- "type": "string",
1919
- "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
1920
- "required": true,
1921
- "location": "path"
1922
- },
1923
- "packageName": {
1924
- "type": "string",
1925
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1926
- "required": true,
1927
- "location": "path"
1928
- }
1929
- },
1930
- "parameterOrder": [
1931
- "packageName",
1932
- "editId",
1933
- "language"
1934
- ],
1935
- "response": {
1936
- "$ref": "Listing"
1937
- },
1938
- "scopes": [
1939
- "https://www.googleapis.com/auth/androidpublisher"
1940
- ]
1941
- },
1942
- "list": {
1943
- "id": "androidpublisher.edits.listings.list",
1944
- "path": "{packageName}/edits/{editId}/listings",
1945
- "httpMethod": "GET",
1946
- "description": "Returns all of the localized store listings attached to this edit.",
1947
- "parameters": {
1948
- "editId": {
1949
- "type": "string",
1950
- "description": "Unique identifier for this edit.",
1951
- "required": true,
1952
- "location": "path"
1953
- },
1954
- "packageName": {
1955
- "type": "string",
1956
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1957
- "required": true,
1958
- "location": "path"
1959
- }
1960
- },
1961
- "parameterOrder": [
1962
- "packageName",
1963
- "editId"
1964
- ],
1965
- "response": {
1966
- "$ref": "ListingsListResponse"
1967
- },
1968
- "scopes": [
1969
- "https://www.googleapis.com/auth/androidpublisher"
1970
- ]
1971
- },
1972
- "patch": {
1973
- "id": "androidpublisher.edits.listings.patch",
1974
- "path": "{packageName}/edits/{editId}/listings/{language}",
1975
- "httpMethod": "PATCH",
1976
- "description": "Creates or updates a localized store listing. This method supports patch semantics.",
1977
- "parameters": {
1978
- "editId": {
1979
- "type": "string",
1980
- "description": "Unique identifier for this edit.",
1981
- "required": true,
1982
- "location": "path"
1983
- },
1984
- "language": {
1985
- "type": "string",
1986
- "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
1987
- "required": true,
1988
- "location": "path"
1989
- },
1990
- "packageName": {
1991
- "type": "string",
1992
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
1993
- "required": true,
1994
- "location": "path"
1995
- }
1996
- },
1997
- "parameterOrder": [
1998
- "packageName",
1999
- "editId",
2000
- "language"
2001
- ],
2002
- "request": {
2003
- "$ref": "Listing"
2004
- },
2005
- "response": {
2006
- "$ref": "Listing"
2007
- },
2008
- "scopes": [
2009
- "https://www.googleapis.com/auth/androidpublisher"
2010
- ]
2011
- },
2012
- "update": {
2013
- "id": "androidpublisher.edits.listings.update",
2014
- "path": "{packageName}/edits/{editId}/listings/{language}",
2015
- "httpMethod": "PUT",
2016
- "description": "Creates or updates a localized store listing.",
2017
- "parameters": {
2018
- "editId": {
2019
- "type": "string",
2020
- "description": "Unique identifier for this edit.",
2021
- "required": true,
2022
- "location": "path"
2023
- },
2024
- "language": {
2025
- "type": "string",
2026
- "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".",
2027
- "required": true,
2028
- "location": "path"
2029
- },
2030
- "packageName": {
2031
- "type": "string",
2032
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2033
- "required": true,
2034
- "location": "path"
2035
- }
2036
- },
2037
- "parameterOrder": [
2038
- "packageName",
2039
- "editId",
2040
- "language"
2041
- ],
2042
- "request": {
2043
- "$ref": "Listing"
2044
- },
2045
- "response": {
2046
- "$ref": "Listing"
2047
- },
2048
- "scopes": [
2049
- "https://www.googleapis.com/auth/androidpublisher"
2050
- ]
2051
- }
2052
- }
2053
- },
2054
- "testers": {
2055
- "methods": {
2056
- "get": {
2057
- "id": "androidpublisher.edits.testers.get",
2058
- "path": "{packageName}/edits/{editId}/testers/{track}",
2059
- "httpMethod": "GET",
2060
- "parameters": {
2061
- "editId": {
2062
- "type": "string",
2063
- "description": "Unique identifier for this edit.",
2064
- "required": true,
2065
- "location": "path"
2066
- },
2067
- "packageName": {
2068
- "type": "string",
2069
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2070
- "required": true,
2071
- "location": "path"
2072
- },
2073
- "track": {
2074
- "type": "string",
2075
- "required": true,
2076
- "enum": [
2077
- "alpha",
2078
- "beta",
2079
- "production",
2080
- "rollout"
2081
- ],
2082
- "enumDescriptions": [
2083
- "",
2084
- "",
2085
- "",
2086
- ""
2087
- ],
2088
- "location": "path"
2089
- }
2090
- },
2091
- "parameterOrder": [
2092
- "packageName",
2093
- "editId",
2094
- "track"
2095
- ],
2096
- "response": {
2097
- "$ref": "Testers"
2098
- },
2099
- "scopes": [
2100
- "https://www.googleapis.com/auth/androidpublisher"
2101
- ]
2102
- },
2103
- "patch": {
2104
- "id": "androidpublisher.edits.testers.patch",
2105
- "path": "{packageName}/edits/{editId}/testers/{track}",
2106
- "httpMethod": "PATCH",
2107
- "parameters": {
2108
- "editId": {
2109
- "type": "string",
2110
- "description": "Unique identifier for this edit.",
2111
- "required": true,
2112
- "location": "path"
2113
- },
2114
- "packageName": {
2115
- "type": "string",
2116
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2117
- "required": true,
2118
- "location": "path"
2119
- },
2120
- "track": {
2121
- "type": "string",
2122
- "required": true,
2123
- "enum": [
2124
- "alpha",
2125
- "beta",
2126
- "production",
2127
- "rollout"
2128
- ],
2129
- "enumDescriptions": [
2130
- "",
2131
- "",
2132
- "",
2133
- ""
2134
- ],
2135
- "location": "path"
2136
- }
2137
- },
2138
- "parameterOrder": [
2139
- "packageName",
2140
- "editId",
2141
- "track"
2142
- ],
2143
- "request": {
2144
- "$ref": "Testers"
2145
- },
2146
- "response": {
2147
- "$ref": "Testers"
2148
- },
2149
- "scopes": [
2150
- "https://www.googleapis.com/auth/androidpublisher"
2151
- ]
2152
- },
2153
- "update": {
2154
- "id": "androidpublisher.edits.testers.update",
2155
- "path": "{packageName}/edits/{editId}/testers/{track}",
2156
- "httpMethod": "PUT",
2157
- "parameters": {
2158
- "editId": {
2159
- "type": "string",
2160
- "description": "Unique identifier for this edit.",
2161
- "required": true,
2162
- "location": "path"
2163
- },
2164
- "packageName": {
2165
- "type": "string",
2166
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2167
- "required": true,
2168
- "location": "path"
2169
- },
2170
- "track": {
2171
- "type": "string",
2172
- "required": true,
2173
- "enum": [
2174
- "alpha",
2175
- "beta",
2176
- "production",
2177
- "rollout"
2178
- ],
2179
- "enumDescriptions": [
2180
- "",
2181
- "",
2182
- "",
2183
- ""
2184
- ],
2185
- "location": "path"
2186
- }
2187
- },
2188
- "parameterOrder": [
2189
- "packageName",
2190
- "editId",
2191
- "track"
2192
- ],
2193
- "request": {
2194
- "$ref": "Testers"
2195
- },
2196
- "response": {
2197
- "$ref": "Testers"
2198
- },
2199
- "scopes": [
2200
- "https://www.googleapis.com/auth/androidpublisher"
2201
- ]
2202
- }
2203
- }
2204
- },
2205
- "tracks": {
2206
- "methods": {
2207
- "get": {
2208
- "id": "androidpublisher.edits.tracks.get",
2209
- "path": "{packageName}/edits/{editId}/tracks/{track}",
2210
- "httpMethod": "GET",
2211
- "description": "Fetches the track configuration for the specified track type. Includes the APK version codes that are in this track.",
2212
- "parameters": {
2213
- "editId": {
2214
- "type": "string",
2215
- "description": "Unique identifier for this edit.",
2216
- "required": true,
2217
- "location": "path"
2218
- },
2219
- "packageName": {
2220
- "type": "string",
2221
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2222
- "required": true,
2223
- "location": "path"
2224
- },
2225
- "track": {
2226
- "type": "string",
2227
- "description": "The track type to read or modify.",
2228
- "required": true,
2229
- "enum": [
2230
- "alpha",
2231
- "beta",
2232
- "production",
2233
- "rollout"
2234
- ],
2235
- "enumDescriptions": [
2236
- "",
2237
- "",
2238
- "",
2239
- ""
2240
- ],
2241
- "location": "path"
2242
- }
2243
- },
2244
- "parameterOrder": [
2245
- "packageName",
2246
- "editId",
2247
- "track"
2248
- ],
2249
- "response": {
2250
- "$ref": "Track"
2251
- },
2252
- "scopes": [
2253
- "https://www.googleapis.com/auth/androidpublisher"
2254
- ]
2255
- },
2256
- "list": {
2257
- "id": "androidpublisher.edits.tracks.list",
2258
- "path": "{packageName}/edits/{editId}/tracks",
2259
- "httpMethod": "GET",
2260
- "description": "Lists all the track configurations for this edit.",
2261
- "parameters": {
2262
- "editId": {
2263
- "type": "string",
2264
- "description": "Unique identifier for this edit.",
2265
- "required": true,
2266
- "location": "path"
2267
- },
2268
- "packageName": {
2269
- "type": "string",
2270
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2271
- "required": true,
2272
- "location": "path"
2273
- }
2274
- },
2275
- "parameterOrder": [
2276
- "packageName",
2277
- "editId"
2278
- ],
2279
- "response": {
2280
- "$ref": "TracksListResponse"
2281
- },
2282
- "scopes": [
2283
- "https://www.googleapis.com/auth/androidpublisher"
2284
- ]
2285
- },
2286
- "patch": {
2287
- "id": "androidpublisher.edits.tracks.patch",
2288
- "path": "{packageName}/edits/{editId}/tracks/{track}",
2289
- "httpMethod": "PATCH",
2290
- "description": "Updates the track configuration for the specified track type. This method supports patch semantics.",
2291
- "parameters": {
2292
- "editId": {
2293
- "type": "string",
2294
- "description": "Unique identifier for this edit.",
2295
- "required": true,
2296
- "location": "path"
2297
- },
2298
- "packageName": {
2299
- "type": "string",
2300
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2301
- "required": true,
2302
- "location": "path"
2303
- },
2304
- "track": {
2305
- "type": "string",
2306
- "description": "The track type to read or modify.",
2307
- "required": true,
2308
- "enum": [
2309
- "alpha",
2310
- "beta",
2311
- "production",
2312
- "rollout"
2313
- ],
2314
- "enumDescriptions": [
2315
- "",
2316
- "",
2317
- "",
2318
- ""
2319
- ],
2320
- "location": "path"
2321
- }
2322
- },
2323
- "parameterOrder": [
2324
- "packageName",
2325
- "editId",
2326
- "track"
2327
- ],
2328
- "request": {
2329
- "$ref": "Track"
2330
- },
2331
- "response": {
2332
- "$ref": "Track"
2333
- },
2334
- "scopes": [
2335
- "https://www.googleapis.com/auth/androidpublisher"
2336
- ]
2337
- },
2338
- "update": {
2339
- "id": "androidpublisher.edits.tracks.update",
2340
- "path": "{packageName}/edits/{editId}/tracks/{track}",
2341
- "httpMethod": "PUT",
2342
- "description": "Updates the track configuration for the specified track type.",
2343
- "parameters": {
2344
- "editId": {
2345
- "type": "string",
2346
- "description": "Unique identifier for this edit.",
2347
- "required": true,
2348
- "location": "path"
2349
- },
2350
- "packageName": {
2351
- "type": "string",
2352
- "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".",
2353
- "required": true,
2354
- "location": "path"
2355
- },
2356
- "track": {
2357
- "type": "string",
2358
- "description": "The track type to read or modify.",
2359
- "required": true,
2360
- "enum": [
2361
- "alpha",
2362
- "beta",
2363
- "production",
2364
- "rollout"
2365
- ],
2366
- "enumDescriptions": [
2367
- "",
2368
- "",
2369
- "",
2370
- ""
2371
- ],
2372
- "location": "path"
2373
- }
2374
- },
2375
- "parameterOrder": [
2376
- "packageName",
2377
- "editId",
2378
- "track"
2379
- ],
2380
- "request": {
2381
- "$ref": "Track"
2382
- },
2383
- "response": {
2384
- "$ref": "Track"
2385
- },
2386
- "scopes": [
2387
- "https://www.googleapis.com/auth/androidpublisher"
2388
- ]
2389
- }
2390
- }
2391
- }
2392
- }
2393
- },
2394
- "inappproducts": {
2395
- "methods": {
2396
- "batch": {
2397
- "id": "androidpublisher.inappproducts.batch",
2398
- "path": "inappproducts/batch",
2399
- "httpMethod": "POST",
2400
- "request": {
2401
- "$ref": "InappproductsBatchRequest"
2402
- },
2403
- "response": {
2404
- "$ref": "InappproductsBatchResponse"
2405
- },
2406
- "scopes": [
2407
- "https://www.googleapis.com/auth/androidpublisher"
2408
- ]
2409
- },
2410
- "delete": {
2411
- "id": "androidpublisher.inappproducts.delete",
2412
- "path": "{packageName}/inappproducts/{sku}",
2413
- "httpMethod": "DELETE",
2414
- "description": "Delete an in-app product for an app.",
2415
- "parameters": {
2416
- "packageName": {
2417
- "type": "string",
2418
- "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".",
2419
- "required": true,
2420
- "location": "path"
2421
- },
2422
- "sku": {
2423
- "type": "string",
2424
- "description": "Unique identifier for the in-app product.",
2425
- "required": true,
2426
- "location": "path"
2427
- }
2428
- },
2429
- "parameterOrder": [
2430
- "packageName",
2431
- "sku"
2432
- ],
2433
- "scopes": [
2434
- "https://www.googleapis.com/auth/androidpublisher"
2435
- ]
2436
- },
2437
- "get": {
2438
- "id": "androidpublisher.inappproducts.get",
2439
- "path": "{packageName}/inappproducts/{sku}",
2440
- "httpMethod": "GET",
2441
- "description": "Returns information about the in-app product specified.",
2442
- "parameters": {
2443
- "packageName": {
2444
- "type": "string",
2445
- "required": true,
2446
- "location": "path"
2447
- },
2448
- "sku": {
2449
- "type": "string",
2450
- "description": "Unique identifier for the in-app product.",
2451
- "required": true,
2452
- "location": "path"
2453
- }
2454
- },
2455
- "parameterOrder": [
2456
- "packageName",
2457
- "sku"
2458
- ],
2459
- "response": {
2460
- "$ref": "InAppProduct"
2461
- },
2462
- "scopes": [
2463
- "https://www.googleapis.com/auth/androidpublisher"
2464
- ]
2465
- },
2466
- "insert": {
2467
- "id": "androidpublisher.inappproducts.insert",
2468
- "path": "{packageName}/inappproducts",
2469
- "httpMethod": "POST",
2470
- "description": "Creates a new in-app product for an app.",
2471
- "parameters": {
2472
- "autoConvertMissingPrices": {
2473
- "type": "boolean",
2474
- "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.",
2475
- "location": "query"
2476
- },
2477
- "packageName": {
2478
- "type": "string",
2479
- "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".",
2480
- "required": true,
2481
- "location": "path"
2482
- }
2483
- },
2484
- "parameterOrder": [
2485
- "packageName"
2486
- ],
2487
- "request": {
2488
- "$ref": "InAppProduct"
2489
- },
2490
- "response": {
2491
- "$ref": "InAppProduct"
2492
- },
2493
- "scopes": [
2494
- "https://www.googleapis.com/auth/androidpublisher"
2495
- ]
2496
- },
2497
- "list": {
2498
- "id": "androidpublisher.inappproducts.list",
2499
- "path": "{packageName}/inappproducts",
2500
- "httpMethod": "GET",
2501
- "description": "List all the in-app products for an Android app, both subscriptions and managed in-app products..",
2502
- "parameters": {
2503
- "maxResults": {
2504
- "type": "integer",
2505
- "format": "uint32",
2506
- "location": "query"
2507
- },
2508
- "packageName": {
2509
- "type": "string",
2510
- "description": "Unique identifier for the Android app with in-app products; for example, \"com.spiffygame\".",
2511
- "required": true,
2512
- "location": "path"
2513
- },
2514
- "startIndex": {
2515
- "type": "integer",
2516
- "format": "uint32",
2517
- "location": "query"
2518
- },
2519
- "token": {
2520
- "type": "string",
2521
- "location": "query"
2522
- }
2523
- },
2524
- "parameterOrder": [
2525
- "packageName"
2526
- ],
2527
- "response": {
2528
- "$ref": "InappproductsListResponse"
2529
- },
2530
- "scopes": [
2531
- "https://www.googleapis.com/auth/androidpublisher"
2532
- ]
2533
- },
2534
- "patch": {
2535
- "id": "androidpublisher.inappproducts.patch",
2536
- "path": "{packageName}/inappproducts/{sku}",
2537
- "httpMethod": "PATCH",
2538
- "description": "Updates the details of an in-app product. This method supports patch semantics.",
2539
- "parameters": {
2540
- "autoConvertMissingPrices": {
2541
- "type": "boolean",
2542
- "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.",
2543
- "location": "query"
2544
- },
2545
- "packageName": {
2546
- "type": "string",
2547
- "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".",
2548
- "required": true,
2549
- "location": "path"
2550
- },
2551
- "sku": {
2552
- "type": "string",
2553
- "description": "Unique identifier for the in-app product.",
2554
- "required": true,
2555
- "location": "path"
2556
- }
2557
- },
2558
- "parameterOrder": [
2559
- "packageName",
2560
- "sku"
2561
- ],
2562
- "request": {
2563
- "$ref": "InAppProduct"
2564
- },
2565
- "response": {
2566
- "$ref": "InAppProduct"
2567
- },
2568
- "scopes": [
2569
- "https://www.googleapis.com/auth/androidpublisher"
2570
- ]
2571
- },
2572
- "update": {
2573
- "id": "androidpublisher.inappproducts.update",
2574
- "path": "{packageName}/inappproducts/{sku}",
2575
- "httpMethod": "PUT",
2576
- "description": "Updates the details of an in-app product.",
2577
- "parameters": {
2578
- "autoConvertMissingPrices": {
2579
- "type": "boolean",
2580
- "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.",
2581
- "location": "query"
2582
- },
2583
- "packageName": {
2584
- "type": "string",
2585
- "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".",
2586
- "required": true,
2587
- "location": "path"
2588
- },
2589
- "sku": {
2590
- "type": "string",
2591
- "description": "Unique identifier for the in-app product.",
2592
- "required": true,
2593
- "location": "path"
2594
- }
2595
- },
2596
- "parameterOrder": [
2597
- "packageName",
2598
- "sku"
2599
- ],
2600
- "request": {
2601
- "$ref": "InAppProduct"
2602
- },
2603
- "response": {
2604
- "$ref": "InAppProduct"
2605
- },
2606
- "scopes": [
2607
- "https://www.googleapis.com/auth/androidpublisher"
2608
- ]
2609
- }
2610
- }
2611
- },
2612
- "purchases": {
2613
- "resources": {
2614
- "products": {
2615
- "methods": {
2616
- "get": {
2617
- "id": "androidpublisher.purchases.products.get",
2618
- "path": "{packageName}/purchases/products/{productId}/tokens/{token}",
2619
- "httpMethod": "GET",
2620
- "description": "Checks the purchase and consumption status of an inapp item.",
2621
- "parameters": {
2622
- "packageName": {
2623
- "type": "string",
2624
- "description": "The package name of the application the inapp product was sold in (for example, 'com.some.thing').",
2625
- "required": true,
2626
- "location": "path"
2627
- },
2628
- "productId": {
2629
- "type": "string",
2630
- "description": "The inapp product SKU (for example, 'com.some.thing.inapp1').",
2631
- "required": true,
2632
- "location": "path"
2633
- },
2634
- "token": {
2635
- "type": "string",
2636
- "description": "The token provided to the user's device when the inapp product was purchased.",
2637
- "required": true,
2638
- "location": "path"
2639
- }
2640
- },
2641
- "parameterOrder": [
2642
- "packageName",
2643
- "productId",
2644
- "token"
2645
- ],
2646
- "response": {
2647
- "$ref": "ProductPurchase"
2648
- },
2649
- "scopes": [
2650
- "https://www.googleapis.com/auth/androidpublisher"
2651
- ]
2652
- }
2653
- }
2654
- },
2655
- "subscriptions": {
2656
- "methods": {
2657
- "cancel": {
2658
- "id": "androidpublisher.purchases.subscriptions.cancel",
2659
- "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel",
2660
- "httpMethod": "POST",
2661
- "description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.",
2662
- "parameters": {
2663
- "packageName": {
2664
- "type": "string",
2665
- "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
2666
- "required": true,
2667
- "location": "path"
2668
- },
2669
- "subscriptionId": {
2670
- "type": "string",
2671
- "description": "The purchased subscription ID (for example, 'monthly001').",
2672
- "required": true,
2673
- "location": "path"
2674
- },
2675
- "token": {
2676
- "type": "string",
2677
- "description": "The token provided to the user's device when the subscription was purchased.",
2678
- "required": true,
2679
- "location": "path"
2680
- }
2681
- },
2682
- "parameterOrder": [
2683
- "packageName",
2684
- "subscriptionId",
2685
- "token"
2686
- ],
2687
- "scopes": [
2688
- "https://www.googleapis.com/auth/androidpublisher"
2689
- ]
2690
- },
2691
- "defer": {
2692
- "id": "androidpublisher.purchases.subscriptions.defer",
2693
- "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer",
2694
- "httpMethod": "POST",
2695
- "description": "Defers a user's subscription purchase until a specified future expiration time.",
2696
- "parameters": {
2697
- "packageName": {
2698
- "type": "string",
2699
- "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
2700
- "required": true,
2701
- "location": "path"
2702
- },
2703
- "subscriptionId": {
2704
- "type": "string",
2705
- "description": "The purchased subscription ID (for example, 'monthly001').",
2706
- "required": true,
2707
- "location": "path"
2708
- },
2709
- "token": {
2710
- "type": "string",
2711
- "description": "The token provided to the user's device when the subscription was purchased.",
2712
- "required": true,
2713
- "location": "path"
2714
- }
2715
- },
2716
- "parameterOrder": [
2717
- "packageName",
2718
- "subscriptionId",
2719
- "token"
2720
- ],
2721
- "request": {
2722
- "$ref": "SubscriptionPurchasesDeferRequest"
2723
- },
2724
- "response": {
2725
- "$ref": "SubscriptionPurchasesDeferResponse"
2726
- },
2727
- "scopes": [
2728
- "https://www.googleapis.com/auth/androidpublisher"
2729
- ]
2730
- },
2731
- "get": {
2732
- "id": "androidpublisher.purchases.subscriptions.get",
2733
- "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}",
2734
- "httpMethod": "GET",
2735
- "description": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
2736
- "parameters": {
2737
- "packageName": {
2738
- "type": "string",
2739
- "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
2740
- "required": true,
2741
- "location": "path"
2742
- },
2743
- "subscriptionId": {
2744
- "type": "string",
2745
- "description": "The purchased subscription ID (for example, 'monthly001').",
2746
- "required": true,
2747
- "location": "path"
2748
- },
2749
- "token": {
2750
- "type": "string",
2751
- "description": "The token provided to the user's device when the subscription was purchased.",
2752
- "required": true,
2753
- "location": "path"
2754
- }
2755
- },
2756
- "parameterOrder": [
2757
- "packageName",
2758
- "subscriptionId",
2759
- "token"
2760
- ],
2761
- "response": {
2762
- "$ref": "SubscriptionPurchase"
2763
- },
2764
- "scopes": [
2765
- "https://www.googleapis.com/auth/androidpublisher"
2766
- ]
2767
- },
2768
- "refund": {
2769
- "id": "androidpublisher.purchases.subscriptions.refund",
2770
- "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund",
2771
- "httpMethod": "POST",
2772
- "description": "Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.",
2773
- "parameters": {
2774
- "packageName": {
2775
- "type": "string",
2776
- "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
2777
- "required": true,
2778
- "location": "path"
2779
- },
2780
- "subscriptionId": {
2781
- "type": "string",
2782
- "description": "The purchased subscription ID (for example, 'monthly001').",
2783
- "required": true,
2784
- "location": "path"
2785
- },
2786
- "token": {
2787
- "type": "string",
2788
- "description": "The token provided to the user's device when the subscription was purchased.",
2789
- "required": true,
2790
- "location": "path"
2791
- }
2792
- },
2793
- "parameterOrder": [
2794
- "packageName",
2795
- "subscriptionId",
2796
- "token"
2797
- ],
2798
- "scopes": [
2799
- "https://www.googleapis.com/auth/androidpublisher"
2800
- ]
2801
- },
2802
- "revoke": {
2803
- "id": "androidpublisher.purchases.subscriptions.revoke",
2804
- "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke",
2805
- "httpMethod": "POST",
2806
- "description": "Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.",
2807
- "parameters": {
2808
- "packageName": {
2809
- "type": "string",
2810
- "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
2811
- "required": true,
2812
- "location": "path"
2813
- },
2814
- "subscriptionId": {
2815
- "type": "string",
2816
- "description": "The purchased subscription ID (for example, 'monthly001').",
2817
- "required": true,
2818
- "location": "path"
2819
- },
2820
- "token": {
2821
- "type": "string",
2822
- "description": "The token provided to the user's device when the subscription was purchased.",
2823
- "required": true,
2824
- "location": "path"
2825
- }
2826
- },
2827
- "parameterOrder": [
2828
- "packageName",
2829
- "subscriptionId",
2830
- "token"
2831
- ],
2832
- "scopes": [
2833
- "https://www.googleapis.com/auth/androidpublisher"
2834
- ]
2835
- }
2836
- }
2837
- }
2838
- }
2839
- }
2840
- }
2841
- }