![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Upload Media for Google PhotosDemonstrates how to upload a media file (such as a JPG image) that will be placed in a Google Photos album. Uploading is a two-step process:
This example shows step 1. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoJsonToken Handle hoHttp Variant vBdMedia Handle hoBdMedia String sUrl Variant vResp Handle hoResp String sTemp1 Integer iTemp1 Move False To iSuccess // 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. Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/googlePhotos.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 // This is the HTTPS POST we'll be sending: // POST https://photoslibrary.googleapis.com/v1/uploads // Authorization: Bearer OAUTH2_TOKEN // Content-type: application/octet-stream // X-Goog-Upload-File-Name: FILENAME // X-Goog-Upload-Protocol: raw Send ComSetRequestHeader To hoHttp "X-Goog-Upload-File-Name" "penguins.jpg" Send ComSetRequestHeader To hoHttp "X-Goog-Upload-Protocol" "raw" // Assuming the media isn't super large, we'll just read it into memory and send. // (Another example exists for streaming a large media file directly from the filesystem.) // Load the media file into memory. Get Create (RefClass(cComChilkatBinData)) To hoBdMedia If (Not(IsComObjectCreated(hoBdMedia))) Begin Send CreateComObject of hoBdMedia End Get ComLoadFile Of hoBdMedia "qa_data/jpg/penguins.jpg" To iSuccess Move "https://photoslibrary.googleapis.com/v1/uploads" To sUrl Get Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get pvComObject of hoBdMedia to vBdMedia Get pvComObject of hoResp to vResp Get ComHttpBd Of hoHttp "POST" sUrl vBdMedia "application/octet-stream" vResp To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // Examine the response status code. Success is indicated by a status code of 200. Get ComStatusCode Of hoResp To iTemp1 Showln "response status code: " iTemp1 // Show the response body. Get ComStatusCode Of hoResp To iTemp1 If (iTemp1 = 200) Begin // Success. Get ComBodyStr Of hoResp To sTemp1 Showln "Upload token: " sTemp1 End Else Begin Showln "Error:" Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 End // Clear headers such as X-Goog-Upload-File-Name for subsequent HTTP requests sent on this object.. Send ComClearHeaders To hoHttp End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.