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
(Ruby) 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.
require 'chilkat' # 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. jsonToken = Chilkat::CkJsonObject.new() success = jsonToken.LoadFile("qa_data/tokens/googlePhotos.json") if (success == false) print jsonToken.lastErrorText() + "\n"; exit end http = Chilkat::CkHttp.new() http.put_AuthToken(jsonToken.stringOf("access_token")) # 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 http.SetRequestHeader("X-Goog-Upload-File-Name","penguins.jpg") http.SetRequestHeader("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. bdMedia = Chilkat::CkBinData.new() success = bdMedia.LoadFile("qa_data/jpg/penguins.jpg") url = "https://photoslibrary.googleapis.com/v1/uploads" # resp is a CkHttpResponse resp = http.PBinaryBd("POST",url,bdMedia,"application/octet-stream",false,false) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end # Examine the response status code. Success is indicated by a status code of 200. print "response status code: " + resp.get_StatusCode().to_s() + "\n"; # Show the response body. if (resp.get_StatusCode() == 200) # Success. print "Upload token: " + resp.bodyStr() + "\n"; else print "Error:" + "\n"; print resp.bodyStr() + "\n"; end # Clear headers such as X-Goog-Upload-File-Name for subsequent HTTP requests sent on this object.. http.ClearHeaders() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.