Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Google Photos List Media ItemsList all media items from a user's Google Photos library.
#include <CkJsonObject.h> #include <CkHttp.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkString strOut; // 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. CkJsonObject jsonToken; bool success = jsonToken.LoadFile("qa_data/tokens/googlePhotos.json"); if (success == false) { strOut.append(jsonToken.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkHttp http; http.put_AuthToken(jsonToken.stringOf("access_token")); // For more information, see Google Photos List Media Items API Documentation CkHttpResponse *resp = http.QuickRequest("GET","https://photoslibrary.googleapis.com/v1/mediaItems?pageSize=100"); if (http.get_LastMethodSuccess() == false) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Examine the response status code. Success is indicated by a status code of 200. strOut.append("response status code: "); strOut.appendInt(resp->get_StatusCode()); strOut.append("\r\n"); CkJsonObject json; json.Load(resp->bodyStr()); delete resp; // Sample response: json.put_EmitCompact(false); strOut.append(json.emit()); strOut.append("\r\n"); // (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 char *id = 0; const char *productUrl = 0; const char *baseUrl = 0; const char *mimeType = 0; const char *mediaMetadataCreationTime = 0; const char *mediaMetadataWidth = 0; const char *mediaMetadataHeight = 0; const char *mediaMetadataPhotoCameraMake = 0; const char *mediaMetadataPhotoCameraModel = 0; const char *mediaMetadataPhotoFocalLength = 0; const char *mediaMetadataPhotoApertureFNumber = 0; int mediaMetadataPhotoIsoEquivalent; const char *filename = 0; const char *description = 0; i = 0; count_i = json.SizeOfArray("mediaItems"); while (i < count_i) { json.put_I(i); id = json.stringOf("mediaItems[i].id"); productUrl = json.stringOf("mediaItems[i].productUrl"); baseUrl = json.stringOf("mediaItems[i].baseUrl"); mimeType = json.stringOf("mediaItems[i].mimeType"); mediaMetadataCreationTime = json.stringOf("mediaItems[i].mediaMetadata.creationTime"); mediaMetadataWidth = json.stringOf("mediaItems[i].mediaMetadata.width"); mediaMetadataHeight = json.stringOf("mediaItems[i].mediaMetadata.height"); mediaMetadataPhotoCameraMake = json.stringOf("mediaItems[i].mediaMetadata.photo.cameraMake"); mediaMetadataPhotoCameraModel = json.stringOf("mediaItems[i].mediaMetadata.photo.cameraModel"); mediaMetadataPhotoFocalLength = json.stringOf("mediaItems[i].mediaMetadata.photo.focalLength"); mediaMetadataPhotoApertureFNumber = json.stringOf("mediaItems[i].mediaMetadata.photo.apertureFNumber"); mediaMetadataPhotoIsoEquivalent = json.IntOf("mediaItems[i].mediaMetadata.photo.isoEquivalent"); filename = json.stringOf("mediaItems[i].filename"); description = json.stringOf("mediaItems[i].description"); i = i + 1; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.