Perl
Perl
Find a Label ID by Name
See more GMail REST API Examples
Lookup the ID of a GMail label by the label name.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = chilkat::CkHttp->new();
$http->put_AuthToken("GMAIL-ACCESS-TOKEN");
$userId = "me";
$http->SetUrlVar("userId",$userId);
$url = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels";
# Get the list of GMail labels as JSON.
$sb = chilkat::CkStringBuilder->new();
$success = $http->QuickGetSb($url,$sb);
if ($success != 1) {
print $http->lastErrorText() . "\r\n";
exit;
}
$json = chilkat::CkJsonObject->new();
$json->LoadSb($sb);
$json->put_EmitCompact(0);
print $json->emit() . "\r\n";
if ($http->get_LastStatus() != 200) {
print "Failed." . "\r\n";
exit;
}
# The JSON returned looks like this:
# {
# "labels": [
# {
# "id": "Label_5",
# "name": "QA",
# "messageListVisibility": "show",
# "labelListVisibility": "labelShow",
# "type": "user"
# },
# {
# "id": "Label_21",
# "name": "[Gmail]/testFolder",
# "type": "user"
# },
# {
# "id": "CATEGORY_PERSONAL",
# "name": "CATEGORY_PERSONAL",
# "type": "system"
# },
# ...
# The name of the label is generally known because it's what we visually see.
# The id is what we need to get. Assuming the name is unique,
# find the JSON record having name=<desired name>
# For example...
# jRecord is a JsonObject
$jRecord = $json->FindRecord("labels","name","QA",0);
if ($json->get_LastMethodSuccess() == 1) {
print "The id of QA is: " . $jRecord->stringOf("id") . "\r\n";
}
# jRecord is a JsonObject
$jRecord = $json->FindRecord("labels","name","[Gmail]/testFolder",0);
if ($json->get_LastMethodSuccess() == 1) {
print "The id of [Gmail]/testFolder is: " . $jRecord->stringOf("id") . "\r\n";
}
# jRecord is a JsonObject
$jRecord = $json->FindRecord("labels","name","questions",0);
if ($json->get_LastMethodSuccess() == 1) {
print "The id of questions is: " . $jRecord->stringOf("id") . "\r\n";
}
# Output:
# The id of QA is: Label_5
# The id of [Gmail]/testFolder is: Label_21
# The id of questions is: Label_43