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++) Google Photos List Media ItemsList all media items from a user's Google Photos library.
#include <CkJsonObjectW.h> #include <CkHttpW.h> #include <CkHttpResponseW.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Get the previously obtained access token. // See Get Google Photos Access Token. CkJsonObjectW jsonToken; bool success = jsonToken.LoadFile(L"qa_data/tokens/googlePhotos.json"); if (success == false) { wprintf(L"%s\n",jsonToken.lastErrorText()); return; } CkHttpW http; http.put_AuthToken(jsonToken.stringOf(L"access_token")); // For more information, see Google Photos List Media Items API Documentation CkHttpResponseW *resp = http.QuickRequest(L"GET",L"https://photoslibrary.googleapis.com/v1/mediaItems?pageSize=100"); if (http.get_LastMethodSuccess() == false) { wprintf(L"%s\n",http.lastErrorText()); return; } // Examine the response status code. Success is indicated by a status code of 200. wprintf(L"response status code: %d\n",resp->get_StatusCode()); CkJsonObjectW json; json.Load(resp->bodyStr()); delete resp; // Sample response: json.put_EmitCompact(false); wprintf(L"%s\n",json.emit()); // (See parsing code below...) // { // "mediaItems": [ // { // "id": "AKcbugGCOVK46E2qq6tv_wEuQuoK_a0iHet9rGH0-UWoZFnTMpEZ2jNjHWggz7Aq3hhjJv4YJsDY6ntowKsvnfnr1Bu3ASnS_w", // "productUrl": "https://photos.google.com/lr/photo/AKcbugGCOVK46E2qq6tv_wEuQuoK_a0iHet9rGH0-UWoZFnTMpEZ2jNjHWggz7Aq3hhjJv4YJsDY6ntowKsvnfnr1Bu3ASnS_w", // "baseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e7ZcHJhUmxO8EgRSBFyBaGAyXE...YMWCAMDlNTA6-L5LiijXAUfKgD1ULhr9IabJBGTT7ETUdeeFTQTM", // "mimeType": "image/jpeg", // "mediaMetadata": { // "creationTime": "2019-04-11T17:55:53Z", // "width": "640", // "height": "480", // "photo": { // "cameraMake": "Apple", // "cameraModel": "iPhone 5s", // "focalLength": 4.15, // "apertureFNumber": 2.2, // "isoEquivalent": 32 // } // }, // "filename": "IMG_1206.JPG" // }, // { // "id": "AKcbugFACWDNCQJ2nwhDemR6vRupHSvOUSKukyOHqTWO1CCIs0qw-C0b5MGmrveyjYe8ps8z1rZTRQ8hmSQsODSsobNqDl8vTg", // "productUrl": "https://photos.google.com/lr/photo/AKcbugFACWDNCQJ2nwhDemR6vRupHSvOUSKukyOHqTWO1CCIs0qw-C0b5MGmrveyjYe8ps8z1rZTRQ8hmSQsODSsobNqDl8vTg", // "baseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e7NQe0qdoZrDHkfkK7LOsw-V...YJ1mrohD5duHsY2QJCzLTXZ65EOUrJefars3xDSwsCYlelY470kk", // "mimeType": "image/jpeg", // "mediaMetadata": { // "creationTime": "2016-10-09T01:49:58Z", // "width": "600", // "height": "427", // "photo": {} // }, // "filename": "hedgehogs.jpg" // }, // { // "id": "AKcbugHEVyTFgIYb7GzhRFP5KvhBRIIsRcb6Cd4-2ByHzad2oqZnWF2aMPoXY-vfrXmefdTlyF3yZ22Odz6IFLs8pnJlOoVBUg", // "productUrl": "https://photos.google.com/lr/photo/AKcbugHEVyTFgIYb7GzhRFP5KvhBRIIsRcb6Cd4-2ByHzad2oqZnWF2aMPoXY-vfrXmefdTlyF3yZ22Odz6IFLs8pnJlOoVBUg", // "baseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e64wP9gpPXKq5b8FCFKzu9C...QTFxMLVRaLeQZBvYGZVIe7xCcRPnRhMpiXwL_RV_aU", // "mimeType": "image/jpeg", // "mediaMetadata": { // "creationTime": "2015-09-21T20:30:02Z", // "width": "59", // "height": "69", // "photo": {} // }, // "filename": "chilkat_gravatar.jpg" // }, // { // "id": "AKcbugHdYTp-S-D_EYnSBA4EhrKT86IFbmdRuiDclKka9T5b6UIbeDvhTAu1bebYOCFKH-gv1ME1z6RyMN4eW_9J5ol9_qizMg", // "productUrl": "https://photos.google.com/lr/photo/AKcbugHdYTp-S-D_EYnSBA4EhrKT86IFbmdRuiDclKka9T5b6UIbeDvhTAu1bebYOCFKH-gv1ME1z6RyMN4eW_9J5ol9_qizMg", // "baseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e4e69WQpYcQX...m87rR6gDBhcB55TL__3ckBYNQ8MjbqpBtmojjYWrLG_j4VsVSA", // "mimeType": "image/jpeg", // "mediaMetadata": { // "creationTime": "2008-05-29T15:30:55Z", // "width": "120", // "height": "120", // "photo": {} // }, // "filename": "starfish.jpg" // }, // { // "id": "AKcbugGwtCih2tdl3s1-NMvZFaco3W7XnRwvwtj02J9DJyl6JmrLZDVUFcxQl4AT04LaNrPpsrojeTsDSzOVOF5IgKefD0Y-MQ", // "description": "Photo of Penguins", // "productUrl": "https://photos.google.com/lr/photo/AKcbugGwtCih2tdl3s1-NMvZFaco3W7XnRwvwtj02J9DJyl6JmrLZDVUFcxQl4AT04LaNrPpsrojeTsDSzOVOF5IgKefD0Y-MQ", // "baseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e5Cj3EgyhscdT...X3-W562iiKtTa8lc_QPxCrpJu-m7cZyNGwGTANVpGe1XG", // "mimeType": "image/jpeg", // "mediaMetadata": { // "creationTime": "2008-02-18T05:07:31Z", // "width": "1024", // "height": "768", // "photo": {} // }, // "filename": "penguins.jpg" // } // ] // } // // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON int i; int count_i; const wchar_t *id = 0; const wchar_t *productUrl = 0; const wchar_t *baseUrl = 0; const wchar_t *mimeType = 0; const wchar_t *mediaMetadataCreationTime = 0; const wchar_t *mediaMetadataWidth = 0; const wchar_t *mediaMetadataHeight = 0; const wchar_t *mediaMetadataPhotoCameraMake = 0; const wchar_t *mediaMetadataPhotoCameraModel = 0; const wchar_t *mediaMetadataPhotoFocalLength = 0; const wchar_t *mediaMetadataPhotoApertureFNumber = 0; int mediaMetadataPhotoIsoEquivalent; const wchar_t *filename = 0; const wchar_t *description = 0; i = 0; count_i = json.SizeOfArray(L"mediaItems"); while (i < count_i) { json.put_I(i); id = json.stringOf(L"mediaItems[i].id"); productUrl = json.stringOf(L"mediaItems[i].productUrl"); baseUrl = json.stringOf(L"mediaItems[i].baseUrl"); mimeType = json.stringOf(L"mediaItems[i].mimeType"); mediaMetadataCreationTime = json.stringOf(L"mediaItems[i].mediaMetadata.creationTime"); mediaMetadataWidth = json.stringOf(L"mediaItems[i].mediaMetadata.width"); mediaMetadataHeight = json.stringOf(L"mediaItems[i].mediaMetadata.height"); mediaMetadataPhotoCameraMake = json.stringOf(L"mediaItems[i].mediaMetadata.photo.cameraMake"); mediaMetadataPhotoCameraModel = json.stringOf(L"mediaItems[i].mediaMetadata.photo.cameraModel"); mediaMetadataPhotoFocalLength = json.stringOf(L"mediaItems[i].mediaMetadata.photo.focalLength"); mediaMetadataPhotoApertureFNumber = json.stringOf(L"mediaItems[i].mediaMetadata.photo.apertureFNumber"); mediaMetadataPhotoIsoEquivalent = json.IntOf(L"mediaItems[i].mediaMetadata.photo.isoEquivalent"); filename = json.stringOf(L"mediaItems[i].filename"); description = json.stringOf(L"mediaItems[i].description"); i = i + 1; } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.