# Google Cloud Access Token > [HTML Version](googlecloudaccesstoken.htm) The ability to get a Google Cloud access token was added to the ASHNET library (1.14.184) to support an operation that arises when the owner of an object stored in Google Cloud Storage wants to make it available to an external user. In such a case, instead of requiring the standard browser-based OAUTH2 authentication, the owner can provide a private key, which the recipient can then use to request the an access token directly. Because of the special nature of the operation, it was not exposed as a standard A-Shell XCALL, but may still be called using the generic DYNLIB routine, as follows: **funcsig\$ = "GetGoogleCloudAccessToken(Zziz)i"** **xcall DYNLIB, dlctl, funcsig\$, prvkey\$, token\$, sizeof(token\$), url, rc** **Parameters** _prvkey\$_ ([String](string.htm.md)) \[in\] is a json string containing a private key, something like: \{ "type": "service\_account", "project\_id": "chilkattest-1350", "private\_key\_id": "fa2e36ee26986eab628b59868af8bec1d1c64c38", "private\_key": "-----BEGIN PRIVATE KEY-----\\nMII....jSdy\\n-----END PRIVATE KEY-----\\n", "client\_email": "598922945xxxxxxxxxxxxa@developer.gserviceaccount.com", "client\_id": "5989229452xxxxxxxxxxxxxxxxa.apps.googleusercontent.com", "auth\_uri": "https:\!accounts.google.com/o/oauth2/auth", "token\_uri": "https://accounts.google.com/o/oauth2/token", "auth\_provider\_x509\_cert\_url": "https://www.googleapis.com/oauth2/v1/certs", "client\_x509\_cert\_url": "https://www.googleapis.com/robot/v1/m...com" \} _token\$_ ([String](string.htm.md), 2048) \[out\] receives the access token _cb_ ([Num](num.htm.md)) \[in\] specifies the size of the token\$ parameter _url_ ([String](string.htm.md)) \[in\] optional url; default: https://www.googleapis.com/auth/cloud-platform _rc_ (I4) \[out\] return code (0 for success, else ANETERR\_xxx codes)