Sample code for 30+ languages & platforms
Java

Create GMail Draft

See more GMail REST API Examples

Demonstrates how to create a new GMail draft email.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // Use the Chilkat Email API to create or load an email.
        Email email = new Email();
        email.setSubject("This is a test GMail email created using Chilkat.");
        email.setCharset("utf-8");
        email.addPlainTextAlternativeBody("This is a test");
        email.addHtmlAlternativeBody("<html><body><p>This is a <b>test</b></body></html>");

        // We'll need to get the full MIME of the email encoded to a base64url string.
        StringBuilder sbMime = new StringBuilder();
        email.getMimeSb(sbMime);
        sbMime.encode("base64url", "utf-8");

        // The body of the HTTP request will be JSON..
        JsonObject json = new JsonObject();
        json.updateSb("message.raw", sbMime);

        // Upload the email to GMail as a draft.
        Http http = new Http();
        http.setAuthToken("GMAIL-ACCESS-TOKEN");

        String url = "https://www.googleapis.com/gmail/v1/users/me/drafts";
        HttpResponse resp = new HttpResponse();
        try {
            http.httpJson("POST", url, json, "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // A status code of 200 indicates success.
        System.out.println("Response status code: " + resp.getStatusCode());
        System.out.println("Response body:");
        System.out.println(resp.getBodyStr());

        // The response body contains JSON.
        // Use the online tool at Generate JSON Parsing Code
        // to generate JSON parsing code.

        // A sample successful JSON response:

        // {
        //  "id": "r-2607584557788895307",
        //  "message": {
        //   "id": "166f09932c662e93",
        //   "threadId": "166f09932c662e93",
        //   "labelIds": [
        //    "DRAFT"
        //   ]
        //  }
        // }
    }
}