Gets the current user's Gmail profile, but shows an error response and how to parse it..
use 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,1,1);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$rest->AddPathParam("userId",'matt@chilkat.io');
$sbJson = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestNoBodySb("GET","/gmail/v1/users/userId/profile",$sbJson);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
if ($rest->get_ResponseStatusCode() != 200) {
print "Received error response code: " . $rest->get_ResponseStatusCode() . "\r\n";
print "Response body:" . "\r\n";
print $sbJson->getAsString() . "\r\n";
exit;
}
$json = chilkat::CkJsonObject->new();
$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." . "\r\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."
}
}