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