Ruby GMail: Get User's GMail Profile

Back to Index

Gets the current user's Gmail profile.

Documentation: https://developers.google.com/gmail/api/v1/reference/users/getProfile


require 'chilkat'

rest = Chilkat::CkRest.new()

#   Provide a previously obtained OAuth2 access token.
oauth2 = Chilkat::CkOAuth2.new()
oauth2.put_AccessToken("OAUTH2_ACCESS_TOKEN")
rest.SetAuthOAuth2(oauth2)

success = rest.Connect("www.googleapis.com",443,true,true)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

rest.AddPathParam("userId","matt@chilkat.io")

sbJson = Chilkat::CkStringBuilder.new()
success = rest.FullRequestNoBodySb("GET","/gmail/v1/users/userId/profile",sbJson)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

if (rest.get_ResponseStatusCode() != 200)
    print "Received error response code: " + rest.get_ResponseStatusCode().to_s() + "\n";
    print "Response body:" + "\n";
    print sbJson.getAsString() + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
json.LoadSb(sbJson)

#  The following code parses the JSON response.
#  A sample JSON response is shown below the sample code.

emailAddress = json.stringOf("emailAddress")
messagesTotal = json.IntOf("messagesTotal")
threadsTotal = json.IntOf("threadsTotal")
historyId = json.stringOf("historyId")

print "Example Completed." + "\n";

Sample JSON Response Body

{
  "emailAddress": "matt@chilkat.io",
  "messagesTotal": 3,
  "threadsTotal": 3,
  "historyId": "1257"
}