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
(Tcl) 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
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] CkHttp_put_AuthToken $http "ACCESS_TOKEN" CkHttp_put_Accept $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. set jsonMsgIds [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonMsgIds "qa_data/json/gmail_message_ids.json"] set i 0 set count_i [CkJsonObject_SizeOfArray $jsonMsgIds "messages"] while {$i < $count_i} { CkJsonObject_put_I $jsonMsgIds $i set id [CkJsonObject_stringOf $jsonMsgIds "messages[i].id"] # Get the metadata for this message ID. CkHttp_SetUrlVar $http "id" $id # resp is a CkHttpResponse set resp [CkHttp_QuickRequest $http "GET" "https://www.googleapis.com/gmail/v1/users/userId/messages/{$id}?format=metadata"] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $jsonMsgIds exit } puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]" set jsonResponse [new_CkJsonObject] CkJsonObject_Load $jsonResponse [CkHttpResponse_bodyStr $resp] CkJsonObject_put_EmitCompact $jsonResponse 0 puts [CkJsonObject_emit $jsonResponse] if {[CkHttpResponse_get_StatusCode $resp] != 200} then { puts "Failed." delete_CkHttpResponse $resp delete_CkHttp $http delete_CkJsonObject $jsonMsgIds delete_CkJsonObject $jsonResponse exit } delete_CkHttpResponse $resp set i [expr $i + 1] } # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON delete_CkHttp $http delete_CkJsonObject $jsonMsgIds delete_CkJsonObject $jsonResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.