Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Get GMail Message MetadataDemonstrates how to get the metadata for each message in a list of message IDs. For more information, see https://developers.google.com/gmail/api/v1/reference/users/messages/get
#include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkHttp http; HCkJsonObject jsonMsgIds; BOOL success; const char *id; int i; int count_i; HCkHttpResponse resp; HCkJsonObject jsonResponse; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); CkHttp_putAuthToken(http,"ACCESS_TOKEN"); CkHttp_putAccept(http,"application/json"); // Let's say we have the following JSON containing a list of message ID's // { // "messages": [ // { // "id": "1712bc1dc22da2a2", // "threadId": "1712bc1dc22da2a2" // }, // { // "id": "1712b94fa2168040", // "threadId": "1712b94fa2168040" // }, // { // "id": "1711e4bd96ded05e", // "threadId": "1711e4bd96ded05e" // }, // { // "id": "1711de0d119e751e", // "threadId": "1711de0d119e751e" // }, // { // "id": "1711c81a43050f59", // "threadId": "1711c81a43050f59" // }, // { // "id": "1711c2c1516abce5", // "threadId": "1711c2c1516abce5" // }, // { // "id": "1711c161e655c915", // "threadId": "1711c161e655c915" // }, // { // "id": "171199c6e454558c", // "threadId": "171199c6e454558c" // }, // { // "id": "17119474c8aa248e", // "threadId": "17119474c8aa248e" // } // ], // "nextPageToken": "16710921492249671162", // "resultSizeEstimate": 309 // } // Normally your program would have the above JSON in a string variable (obtained from a previous call to get // a list of message IDs from a GMail mailbox). In this example, we'll load the JSON from a file. jsonMsgIds = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jsonMsgIds,"qa_data/json/gmail_message_ids.json"); i = 0; count_i = CkJsonObject_SizeOfArray(jsonMsgIds,"messages"); while (i < count_i) { CkJsonObject_putI(jsonMsgIds,i); id = CkJsonObject_stringOf(jsonMsgIds,"messages[i].id"); // Get the metadata for this message ID. CkHttp_SetUrlVar(http,"id",id); resp = CkHttp_QuickRequest(http,"GET","https://www.googleapis.com/gmail/v1/users/userId/messages/{$id}?format=metadata"); if (CkHttp_getLastMethodSuccess(http) != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonMsgIds); return; } printf("Response Status Code: %d\n",CkHttpResponse_getStatusCode(resp)); jsonResponse = CkJsonObject_Create(); CkJsonObject_Load(jsonResponse,CkHttpResponse_bodyStr(resp)); CkJsonObject_putEmitCompact(jsonResponse,FALSE); printf("%s\n",CkJsonObject_emit(jsonResponse)); if (CkHttpResponse_getStatusCode(resp) != 200) { printf("Failed.\n"); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonMsgIds); CkJsonObject_Dispose(jsonResponse); return; } CkHttpResponse_Dispose(resp); i = i + 1; } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON CkHttp_Dispose(http); CkJsonObject_Dispose(jsonMsgIds); CkJsonObject_Dispose(jsonResponse); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.