Sample code for 30+ languages & platforms
PHP ActiveX

Create a New GMail Label

See more GMail REST API Examples

Demonstrates how to create a new GMail label.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$http = new COM("Chilkat.Http");
$http->AuthToken = 'GMAIL-ACCESS-TOKEN';

$userId = 'me';
$http->SetUrlVar('userId',$userId);

// Create the JSON to be sent in the HTTP request body.
// The name of the new label is "questions".
$json = new COM("Chilkat.JsonObject");
$json->UpdateString('name','questions');
$json->UpdateString('labelListVisibility','labelShow');
$json->UpdateString('messageListVisibility','show');

$json->EmitCompact = 0;
print $json->emit() . "\n";

// The JSON contains this:
// {
//   "name": "questions",
//   "labelListVisibility": "labelShow",
//   "messageListVisibility": "show"
// }

$url = 'https://www.googleapis.com/gmail/v1/users/{$userId}/labels';
$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpJson('POST',$url,$json,'application/json',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

print 'status = ' . $resp->StatusCode . "\n";

// A 200 response status indicate success.
if ($resp->StatusCode != 200) {
    print $resp->BodyStr . "\n";
    print 'Failed.' . "\n";
    exit;
}

// A successful repsonse contains JSON that looks like this:

// {
//  "id": "Label_43",
//  "name": "questions",
//  "messageListVisibility": "show",
//  "labelListVisibility": "labelShow"
// }

print 'response body:' . "\n";
print $resp->BodyStr . "\n";

print 'GMail label created!' . "\n";

?>