Sample code for 30+ languages & platforms
Java

Outlook Calendar List Calendars

See more Outlook Calendar Examples

Get all the user's calendars.

Chilkat Java Downloads

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

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.

        Http http = new Http();

        // Use your previously obtained access token here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint).

        JsonObject jsonToken = new JsonObject();
        try {
            jsonToken.loadFile("qa_data/tokens/outlookCalendar.json");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        http.setAuthToken(jsonToken.stringOf("access_token"));

        HttpResponse resp = new HttpResponse();
        try {
            http.httpNoBody("GET", "https://graph.microsoft.com/v1.0/me/calendars", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Response status code = " + resp.getStatusCode());

        // The HTTP request succeeded if the response status code = 200.
        if (resp.getStatusCode() != 200) {
            System.out.println(resp.getBodyStr());
            System.out.println("Failed");
            return;
        }

        JsonObject json = new JsonObject();
        json.load(resp.getBodyStr());
        json.setEmitCompact(false);
        System.out.println(json.emit());

        // Here is a sample response:

        // Use this online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        // {
        //     "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars",
        //     "value": [
        //         {
        //             "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/calendars('AAMkAGI2TGuLAAA=')",
        //             "id": "AAMkAGI2TGuLAAA=",
        //             "name": "Calendar",
        //             "color": "auto",
        //             "changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
        //             "canShare":true,
        //             "canViewPrivateItems":true,
        //             "hexColor": "",
        //             "canEdit":true,
        //             "allowedOnlineMeetingProviders": [
        //                 "teamsForBusiness"
        //             ],
        //             "defaultOnlineMeetingProvider": "teamsForBusiness",
        //             "isTallyingResponses": true,
        //             "isRemovable": false,
        //             "owner":{
        //                 "name":"Samantha Booth",
        //                 "address":"samanthab@adatum.onmicrosoft.com"
        //             }
        //         }
        //     ]
        // }

        String id = "";
        String name = "";
        String color = "";
        String hexColor = "";
        boolean isDefaultCalendar = false;
        String changeKey = "";
        boolean canShare = false;
        boolean canViewPrivateItems = false;
        boolean canEdit = false;
        String defaultOnlineMeetingProvider = "";
        boolean isTallyingResponses = false;
        boolean isRemovable = false;
        String ownerName = "";
        String ownerAddress = "";
        int j = 0;
        int count_j = 0;
        String strVal = "";

        String odata_context = json.stringOf("\"@odata.context\"");
        int i = 0;
        int count_i = json.sizeOfArray("value");
        while (i < count_i) {
            json.setI(i);
            id = json.stringOf("value[i].id");
            name = json.stringOf("value[i].name");
            color = json.stringOf("value[i].color");
            hexColor = json.stringOf("value[i].hexColor");
            isDefaultCalendar = json.boolOf("value[i].isDefaultCalendar");
            changeKey = json.stringOf("value[i].changeKey");
            canShare = json.boolOf("value[i].canShare");
            canViewPrivateItems = json.boolOf("value[i].canViewPrivateItems");
            canEdit = json.boolOf("value[i].canEdit");
            defaultOnlineMeetingProvider = json.stringOf("value[i].defaultOnlineMeetingProvider");
            isTallyingResponses = json.boolOf("value[i].isTallyingResponses");
            isRemovable = json.boolOf("value[i].isRemovable");
            ownerName = json.stringOf("value[i].owner.name");
            ownerAddress = json.stringOf("value[i].owner.address");
            j = 0;
            count_j = json.sizeOfArray("value[i].allowedOnlineMeetingProviders");
            while (j < count_j) {
                json.setJ(j);
                strVal = json.stringOf("value[i].allowedOnlineMeetingProviders[j]");
                j = j + 1;
            }

            i = i + 1;
        }
    }
}