Skip to content

Commit f6d92b9

Browse files
feat(playintegrity): update the api
#### playintegrity:v1 The following keys were added: - canonicalName (Total Keys: 1) - resources.v1.methods.decodeIntegrityToken (Total Keys: 12) - schemas.AccountDetails (Total Keys: 3) - schemas.AppIntegrity (Total Keys: 8) - schemas.DecodeIntegrityTokenRequest (Total Keys: 3) - schemas.DecodeIntegrityTokenResponse (Total Keys: 3) - schemas.DeviceIntegrity (Total Keys: 4) - schemas.RequestDetails (Total Keys: 6) - schemas.TestingDetails (Total Keys: 3) - schemas.TokenPayloadExternal (Total Keys: 7)
1 parent 89b67a2 commit f6d92b9

File tree

3 files changed

+362
-3
lines changed

3 files changed

+362
-3
lines changed

docs/dyn/playintegrity_v1.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@
7474

7575
<h1><a href="playintegrity_v1.html">Google Play Integrity API</a></h1>
7676
<h2>Instance Methods</h2>
77+
<p class="toc_element">
78+
<code><a href="playintegrity_v1.v1.html">v1()</a></code>
79+
</p>
80+
<p class="firstline">Returns the v1 Resource.</p>
81+
7782
<p class="toc_element">
7883
<code><a href="#close">close()</a></code></p>
7984
<p class="firstline">Close httplib2 connections.</p>

docs/dyn/playintegrity_v1.v1.html

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
<html><body>
2+
<style>
3+
4+
body, h1, h2, h3, div, span, p, pre, a {
5+
margin: 0;
6+
padding: 0;
7+
border: 0;
8+
font-weight: inherit;
9+
font-style: inherit;
10+
font-size: 100%;
11+
font-family: inherit;
12+
vertical-align: baseline;
13+
}
14+
15+
body {
16+
font-size: 13px;
17+
padding: 1em;
18+
}
19+
20+
h1 {
21+
font-size: 26px;
22+
margin-bottom: 1em;
23+
}
24+
25+
h2 {
26+
font-size: 24px;
27+
margin-bottom: 1em;
28+
}
29+
30+
h3 {
31+
font-size: 20px;
32+
margin-bottom: 1em;
33+
margin-top: 1em;
34+
}
35+
36+
pre, code {
37+
line-height: 1.5;
38+
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39+
}
40+
41+
pre {
42+
margin-top: 0.5em;
43+
}
44+
45+
h1, h2, h3, p {
46+
font-family: Arial, sans serif;
47+
}
48+
49+
h1, h2, h3 {
50+
border-bottom: solid #CCC 1px;
51+
}
52+
53+
.toc_element {
54+
margin-top: 0.5em;
55+
}
56+
57+
.firstline {
58+
margin-left: 2 em;
59+
}
60+
61+
.method {
62+
margin-top: 1em;
63+
border: solid 1px #CCC;
64+
padding: 1em;
65+
background: #EEE;
66+
}
67+
68+
.details {
69+
font-weight: bold;
70+
font-size: 14px;
71+
}
72+
73+
</style>
74+
75+
<h1><a href="playintegrity_v1.html">Google Play Integrity API</a> . <a href="playintegrity_v1.v1.html">v1</a></h1>
76+
<h2>Instance Methods</h2>
77+
<p class="toc_element">
78+
<code><a href="#close">close()</a></code></p>
79+
<p class="firstline">Close httplib2 connections.</p>
80+
<p class="toc_element">
81+
<code><a href="#decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</a></code></p>
82+
<p class="firstline">Decodes the integrity token and returns the token payload.</p>
83+
<h3>Method Details</h3>
84+
<div class="method">
85+
<code class="details" id="close">close()</code>
86+
<pre>Close httplib2 connections.</pre>
87+
</div>
88+
89+
<div class="method">
90+
<code class="details" id="decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</code>
91+
<pre>Decodes the integrity token and returns the token payload.
92+
93+
Args:
94+
packageName: string, Package name of the app the attached integrity token belongs to. (required)
95+
body: object, The request body.
96+
The object takes the form of:
97+
98+
{ # Request to decode the integrity token.
99+
&quot;integrityToken&quot;: &quot;A String&quot;, # Encoded integrity token.
100+
}
101+
102+
x__xgafv: string, V1 error format.
103+
Allowed values
104+
1 - v1 error format
105+
2 - v2 error format
106+
107+
Returns:
108+
An object of the form:
109+
110+
{ # Response containing the decoded integrity payload.
111+
&quot;tokenPayloadExternal&quot;: { # Contains basic app information and integrity signals like device attestation and licensing details. # Plain token payload generated from the decoded integrity token.
112+
&quot;accountDetails&quot;: { # Contains the account information such as the licensing status for the user in the scope. # Required. Details about the Play Store account.
113+
&quot;appLicensingVerdict&quot;: &quot;A String&quot;, # Required. Details about the licensing status of the user for the app in the scope.
114+
},
115+
&quot;appIntegrity&quot;: { # Contains the application integrity information. # Required. Details about the application integrity.
116+
&quot;appRecognitionVerdict&quot;: &quot;A String&quot;, # Required. Details about the app recognition verdict
117+
&quot;certificateSha256Digest&quot;: [ # Hex fingerprint of the application signing certificate. e.g. “ABCE1F....” Set iff app_recognition_verdict != UNEVALUATED.
118+
&quot;A String&quot;,
119+
],
120+
&quot;packageName&quot;: &quot;A String&quot;, # Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.
121+
&quot;versionCode&quot;: &quot;A String&quot;, # Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.
122+
},
123+
&quot;deviceIntegrity&quot;: { # Contains the device attestation information. # Required. Details about the device integrity.
124+
&quot;deviceRecognitionVerdict&quot;: [ # Details about the integrity of the device the app is running on
125+
&quot;A String&quot;,
126+
],
127+
},
128+
&quot;requestDetails&quot;: { # Contains the integrity request information. # Required. Details about the integrity request.
129+
&quot;nonce&quot;: &quot;A String&quot;, # Required. Nonce that was provided in the request (which is base64 web-safe no-wrap).
130+
&quot;requestPackageName&quot;: &quot;A String&quot;, # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity. For details on application integrity, check application_integrity.
131+
&quot;timestampMillis&quot;: &quot;A String&quot;, # Required. Timestamp, in milliseconds, of the integrity application request.
132+
},
133+
&quot;testingDetails&quot;: { # Contains additional information generated for testing responses. # Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status.
134+
&quot;isTestingResponse&quot;: True or False, # Required. Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.
135+
},
136+
},
137+
}</pre>
138+
</div>
139+
140+
</body></html>

googleapiclient/discovery_cache/documents/playintegrity.v1.json

Lines changed: 217 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
{
2+
"auth": {
3+
"oauth2": {
4+
"scopes": {
5+
"https://www.googleapis.com/auth/playintegrity": {
6+
"description": "Private Service: https://www.googleapis.com/auth/playintegrity"
7+
}
8+
}
9+
}
10+
},
211
"basePath": "",
312
"baseUrl": "https://playintegrity.googleapis.com/",
413
"batchPath": "batch",
14+
"canonicalName": "Play Integrity",
515
"description": "Play Integrity",
616
"discoveryVersion": "v1",
717
"documentationLink": "https://developer.android.com/google/play/integrity",
@@ -94,10 +104,214 @@
94104
}
95105
},
96106
"protocol": "rest",
97-
"resources": {},
98-
"revision": "20220205",
107+
"resources": {
108+
"v1": {
109+
"methods": {
110+
"decodeIntegrityToken": {
111+
"description": "Decodes the integrity token and returns the token payload.",
112+
"flatPath": "v1/{v1Id}:decodeIntegrityToken",
113+
"httpMethod": "POST",
114+
"id": "playintegrity.decodeIntegrityToken",
115+
"parameterOrder": [
116+
"packageName"
117+
],
118+
"parameters": {
119+
"packageName": {
120+
"description": " Package name of the app the attached integrity token belongs to.",
121+
"location": "path",
122+
"pattern": "^[^/]+$",
123+
"required": true,
124+
"type": "string"
125+
}
126+
},
127+
"path": "v1/{+packageName}:decodeIntegrityToken",
128+
"request": {
129+
"$ref": "DecodeIntegrityTokenRequest"
130+
},
131+
"response": {
132+
"$ref": "DecodeIntegrityTokenResponse"
133+
},
134+
"scopes": [
135+
"https://www.googleapis.com/auth/playintegrity"
136+
]
137+
}
138+
}
139+
}
140+
},
141+
"revision": "20220216",
99142
"rootUrl": "https://playintegrity.googleapis.com/",
100-
"schemas": {},
143+
"schemas": {
144+
"AccountDetails": {
145+
"description": "Contains the account information such as the licensing status for the user in the scope.",
146+
"id": "AccountDetails",
147+
"properties": {
148+
"appLicensingVerdict": {
149+
"description": "Required. Details about the licensing status of the user for the app in the scope.",
150+
"enum": [
151+
"UNKNOWN",
152+
"LICENSED",
153+
"UNLICENSED",
154+
"UNEVALUATED"
155+
],
156+
"enumDescriptions": [
157+
"Play does not have sufficient information to evaluate licensing details",
158+
"The app and certificate match the versions distributed by Play.",
159+
"The certificate or package name does not match Google Play records.",
160+
"Licensing details were not evaluated since a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar or the application was not a known Play version."
161+
],
162+
"type": "string"
163+
}
164+
},
165+
"type": "object"
166+
},
167+
"AppIntegrity": {
168+
"description": "Contains the application integrity information.",
169+
"id": "AppIntegrity",
170+
"properties": {
171+
"appRecognitionVerdict": {
172+
"description": "Required. Details about the app recognition verdict",
173+
"enum": [
174+
"UNKNOWN",
175+
"PLAY_RECOGNIZED",
176+
"UNRECOGNIZED_VERSION",
177+
"UNEVALUATED"
178+
],
179+
"enumDescriptions": [
180+
"Play does not have sufficient information to evaluate app integrity",
181+
"The app and certificate match the versions distributed by Play.",
182+
"The certificate or package name does not match Google Play records.",
183+
"Application integrity was not evaluated since a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar."
184+
],
185+
"type": "string"
186+
},
187+
"certificateSha256Digest": {
188+
"description": "Hex fingerprint of the application signing certificate. e.g. \u201cABCE1F....\u201d Set iff app_recognition_verdict != UNEVALUATED.",
189+
"items": {
190+
"type": "string"
191+
},
192+
"type": "array"
193+
},
194+
"packageName": {
195+
"description": "Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.",
196+
"type": "string"
197+
},
198+
"versionCode": {
199+
"description": "Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.",
200+
"format": "int64",
201+
"type": "string"
202+
}
203+
},
204+
"type": "object"
205+
},
206+
"DecodeIntegrityTokenRequest": {
207+
"description": "Request to decode the integrity token.",
208+
"id": "DecodeIntegrityTokenRequest",
209+
"properties": {
210+
"integrityToken": {
211+
"description": "Encoded integrity token.",
212+
"type": "string"
213+
}
214+
},
215+
"type": "object"
216+
},
217+
"DecodeIntegrityTokenResponse": {
218+
"description": "Response containing the decoded integrity payload.",
219+
"id": "DecodeIntegrityTokenResponse",
220+
"properties": {
221+
"tokenPayloadExternal": {
222+
"$ref": "TokenPayloadExternal",
223+
"description": "Plain token payload generated from the decoded integrity token."
224+
}
225+
},
226+
"type": "object"
227+
},
228+
"DeviceIntegrity": {
229+
"description": "Contains the device attestation information.",
230+
"id": "DeviceIntegrity",
231+
"properties": {
232+
"deviceRecognitionVerdict": {
233+
"description": "Details about the integrity of the device the app is running on",
234+
"items": {
235+
"enum": [
236+
"UNKNOWN",
237+
"MEETS_BASIC_INTEGRITY",
238+
"MEETS_DEVICE_INTEGRITY",
239+
"MEETS_STRONG_INTEGRITY",
240+
"MEETS_VIRTUAL_INTEGRITY"
241+
],
242+
"enumDescriptions": [
243+
"Play does not have sufficient information to evaluate device integrity",
244+
"App is running on a device that passes basic system integrity checks, but may not meet Android platform compatibility requirements and may not be approved to run Google Play services.",
245+
"App is running on GMS Android device with Google Play services.",
246+
"App is running on GMS Android device with Google Play services and has a strong guarantee of system integrity such as a hardware-backed keystore.",
247+
"App is running on an Android emulator with Google Play services which meets core Android compatibility requirements."
248+
],
249+
"type": "string"
250+
},
251+
"type": "array"
252+
}
253+
},
254+
"type": "object"
255+
},
256+
"RequestDetails": {
257+
"description": "Contains the integrity request information.",
258+
"id": "RequestDetails",
259+
"properties": {
260+
"nonce": {
261+
"description": "Required. Nonce that was provided in the request (which is base64 web-safe no-wrap).",
262+
"type": "string"
263+
},
264+
"requestPackageName": {
265+
"description": "Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity. For details on application integrity, check application_integrity.",
266+
"type": "string"
267+
},
268+
"timestampMillis": {
269+
"description": "Required. Timestamp, in milliseconds, of the integrity application request.",
270+
"format": "int64",
271+
"type": "string"
272+
}
273+
},
274+
"type": "object"
275+
},
276+
"TestingDetails": {
277+
"description": "Contains additional information generated for testing responses.",
278+
"id": "TestingDetails",
279+
"properties": {
280+
"isTestingResponse": {
281+
"description": "Required. Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.",
282+
"type": "boolean"
283+
}
284+
},
285+
"type": "object"
286+
},
287+
"TokenPayloadExternal": {
288+
"description": "Contains basic app information and integrity signals like device attestation and licensing details.",
289+
"id": "TokenPayloadExternal",
290+
"properties": {
291+
"accountDetails": {
292+
"$ref": "AccountDetails",
293+
"description": "Required. Details about the Play Store account."
294+
},
295+
"appIntegrity": {
296+
"$ref": "AppIntegrity",
297+
"description": "Required. Details about the application integrity."
298+
},
299+
"deviceIntegrity": {
300+
"$ref": "DeviceIntegrity",
301+
"description": "Required. Details about the device integrity."
302+
},
303+
"requestDetails": {
304+
"$ref": "RequestDetails",
305+
"description": "Required. Details about the integrity request."
306+
},
307+
"testingDetails": {
308+
"$ref": "TestingDetails",
309+
"description": "Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status."
310+
}
311+
},
312+
"type": "object"
313+
}
314+
},
101315
"servicePath": "",
102316
"title": "Google Play Integrity API",
103317
"version": "v1",

0 commit comments

Comments
 (0)