Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local jsonToken = chilkat.JsonObject.new()
local success = jsonToken:load_file("qa_data/tokens/googlePeople.json")
if not success then
    print("Failed to load googleContacts.json")
    return
end

local http = chilkat.Http.new()

-- -------------------------------------------------------------------------------------
-- Make sure the access token was obtained with "profile" included in the list of scopes.
-- -------------------------------------------------------------------------------------
http.auth_token = jsonToken:string_of("access_token")

local sbResponseBody = chilkat.StringBuilder.new()
success = http:quick_get_sb("https://www.googleapis.com/oauth2/v3/userinfo", sbResponseBody)
if not success then
    print(http.last_error_text)
    print(sbResponseBody:get_as_string())
    return
end

-- Sample JSON Response

local json = chilkat.JsonObject.new()
json.emit_compact = false
json:load(sbResponseBody:get_as_string())
print(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"
-- }
--