Gets the current user's Gmail profile, but shows an error response and how to parse it..
<?php
// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");
$rest = new CkRest();
// Provide a previously obtained OAuth2 access token.
$oauth2 = new CkOAuth2();
$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;
}
$rest->AddPathParam('userId','matt@chilkat.io');
$sbJson = new CkStringBuilder();
$success = $rest->FullRequestNoBodySb('GET','/gmail/v1/users/userId/profile',$sbJson);
if ($success != true) {
print $rest->lastErrorText() . "\n";
exit;
}
if ($rest->get_ResponseStatusCode() != 200) {
print 'Received error response code: ' . $rest->get_ResponseStatusCode() . "\n";
print 'Response body:' . "\n";
print $sbJson->getAsString() . "\n";
exit;
}
$json = new CkJsonObject();
$json->LoadSb($sbJson);
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
$errorCode = $json->IntOf('error.code');
$errorMessage = $json->stringOf('error.message');
$i = 0;
$count_i = $json->SizeOfArray('error.errors');
while ($i < $count_i) {
$json->put_I($i);
$domain = $json->stringOf('error.errors[i].domain');
$reason = $json->stringOf('error.errors[i].reason');
$message = $json->stringOf('error.errors[i].message');
$extendedHelp = $json->stringOf('error.errors[i].extendedHelp');
$i = $i + 1;
}
print 'Example Completed.' . "\n";
?>
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Gmail API has not been used in project 377697329735 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"extendedHelp": "https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735"
}
],
"code": 403,
"message": "Access Not Configured. Gmail API has not been used in project 377697329735 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
}
}