Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_JsonToken
oleobject loo_Http
oleobject loo_SbResponseBody
oleobject loo_Json

li_Success = 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

loo_JsonToken = create oleobject
li_rc = loo_JsonToken.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_JsonToken
    MessageBox("Error","Connecting to COM object failed")
    return
end if
li_Success = loo_JsonToken.LoadFile("qa_data/tokens/googlePeople.json")
if li_Success <> 1 then
    Write-Debug "Failed to load googleContacts.json"
    destroy loo_JsonToken
    return
end if

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")

// -------------------------------------------------------------------------------------
// Make sure the access token was obtained with "profile" included in the list of scopes.
// -------------------------------------------------------------------------------------
loo_Http.AuthToken = loo_JsonToken.StringOf("access_token")

loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://www.googleapis.com/oauth2/v3/userinfo",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    Write-Debug loo_SbResponseBody.GetAsString()
    destroy loo_JsonToken
    destroy loo_Http
    destroy loo_SbResponseBody
    return
end if

// Sample JSON Response

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.EmitCompact = 0
loo_Json.Load(loo_SbResponseBody.GetAsString())
Write-Debug loo_Json.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"
// }
// 


destroy loo_JsonToken
destroy loo_Http
destroy loo_SbResponseBody
destroy loo_Json