Sample code for 30+ languages & platforms
Visual FoxPro

Google OAuth2 v3 userinfo (https://www.googleapis.com/oauth2/v3/userinfo)

See more Google APIs Examples

Demonstrates how to get the Google OAuth2 v3 userinfo.

Important: Make sure the OAuth2 access token included "profile" in the list of scopes.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loJsonToken
LOCAL loHttp
LOCAL loSbResponseBody
LOCAL loJson

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

* It is assumed we previously obtained an OAuth2 access token.
* This example loads the JSON access token file 
* originally obtained by this example: Get Google People API OAuth2 Access Token
* or refreshed by this example: Refresh Google People API OAuth2 Access Token

loJsonToken = CreateObject('Chilkat.JsonObject')
lnSuccess = loJsonToken.LoadFile("qa_data/tokens/googlePeople.json")
IF (lnSuccess <> 1) THEN
    ? "Failed to load googleContacts.json"
    RELEASE loJsonToken
    CANCEL
ENDIF

loHttp = CreateObject('Chilkat.Http')

* -------------------------------------------------------------------------------------
* Make sure the access token was obtained with "profile" included in the list of scopes.
* -------------------------------------------------------------------------------------
loHttp.AuthToken = loJsonToken.StringOf("access_token")

loSbResponseBody = CreateObject('Chilkat.StringBuilder')
lnSuccess = loHttp.QuickGetSb("https://www.googleapis.com/oauth2/v3/userinfo",loSbResponseBody)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    ? loSbResponseBody.GetAsString()
    RELEASE loJsonToken
    RELEASE loHttp
    RELEASE loSbResponseBody
    CANCEL
ENDIF

* Sample JSON Response

loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0
loJson.Load(loSbResponseBody.GetAsString())
? loJson.Emit()

* Sample response:

* {
*   "sub": "119999690625687999964",
*   "name": "Matt",
*   "given_name": "Matt",
*   "picture": "https://lh3.googleusercontent.com/-b4...eg3Zjo/AAAAAAAAAAI/AAAAAAAAAAA/AMZuu....3RpdA/s96-c/photo.jpg",
*   "locale": "en"
* }
* 

RELEASE loJsonToken
RELEASE loHttp
RELEASE loSbResponseBody
RELEASE loJson