Sample code for 30+ languages & platforms
PHP Extension

Create a New GMail Label

See more GMail REST API Examples

Demonstrates how to create a new GMail label.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

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

$http = new CkHttp();
$http->put_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 CkJsonObject();
$json->UpdateString('name','questions');
$json->UpdateString('labelListVisibility','labelShow');
$json->UpdateString('messageListVisibility','show');

$json->put_EmitCompact(false);
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 CkHttpResponse();
$success = $http->HttpJson('POST',$url,$json,'application/json',$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

print 'status = ' . $resp->get_StatusCode() . "\n";

// A 200 response status indicate success.
if ($resp->get_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";

?>