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
(Unicode 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_CkHttpW.h> #include <C_CkJsonObjectW.h> #include <C_CkHttpResponseW.h> void ChilkatSample(void) { HCkHttpW http; HCkJsonObjectW jsonMsgIds; BOOL success; const wchar_t *id; int i; int count_i; HCkHttpResponseW resp; HCkJsonObjectW jsonResponse; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttpW_Create(); CkHttpW_putAuthToken(http,L"ACCESS_TOKEN"); CkHttpW_putAccept(http,L"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 = CkJsonObjectW_Create(); success = CkJsonObjectW_LoadFile(jsonMsgIds,L"qa_data/json/gmail_message_ids.json"); i = 0; count_i = CkJsonObjectW_SizeOfArray(jsonMsgIds,L"messages"); while (i < count_i) { CkJsonObjectW_putI(jsonMsgIds,i); id = CkJsonObjectW_stringOf(jsonMsgIds,L"messages[i].id"); // Get the metadata for this message ID. CkHttpW_SetUrlVar(http,L"id",id); resp = CkHttpW_QuickRequest(http,L"GET",L"https://www.googleapis.com/gmail/v1/users/userId/messages/{$id}?format=metadata"); if (CkHttpW_getLastMethodSuccess(http) != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonMsgIds); return; } wprintf(L"Response Status Code: %d\n",CkHttpResponseW_getStatusCode(resp)); jsonResponse = CkJsonObjectW_Create(); CkJsonObjectW_Load(jsonResponse,CkHttpResponseW_bodyStr(resp)); CkJsonObjectW_putEmitCompact(jsonResponse,FALSE); wprintf(L"%s\n",CkJsonObjectW_emit(jsonResponse)); if (CkHttpResponseW_getStatusCode(resp) != 200) { wprintf(L"Failed.\n"); CkHttpResponseW_Dispose(resp); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonMsgIds); CkJsonObjectW_Dispose(jsonResponse); return; } CkHttpResponseW_Dispose(resp); i = i + 1; } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonMsgIds); CkJsonObjectW_Dispose(jsonResponse); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.