Visual FoxPro
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
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