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
(PureBasic) Facebook Upload Photo from Local FileUploads a new photo with a caption from a local file.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkHttpRequest.pb" Procedure ChilkatExample() ; This example assumes Chilkat HTTP to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf req.i = CkHttpRequest::ckCreate() If req.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttpRequest::setCkHttpVerb(req, "POST") CkHttpRequest::setCkContentType(req, "multipart/form-data") CkHttpRequest::setCkPath(req, "/v2.7/me/photos") ; Use the previously obtained access token. ; Note: The publish_actions scope is required to upload a photo. CkHttpRequest::ckAddHeader(req,"Authorization","Bearer FACEBOOK-ACCESS-TOKEN") ; Send an "Expect: 100-continue" header in the request. ; This causes the HTTP server to end a 100-continue response ; immediately after receiving the HTTP header. The client ; (Chilkat) will receive this intermediate response, and if ; it's not an error response, it knows that the HTTP server will ; accept the data that is forthcoming. ; The alternative is to get an error response after trying to upload ; the entire contents of the files. CkHttpRequest::ckAddHeader(req,"Expect","100-continue") ; Set a photo caption. CkHttpRequest::ckAddParam(req,"caption","Here are some penguins!") ; Additional parameters can be added to the request by ; calling AddParam once per parameter. ; See https://developers.facebook.com/docs/graph-api/reference/user/photos ; for more information about other optional parameters. ; Indicate the local file to be uploaded. success.i = CkHttpRequest::ckAddFileForUpload(req,"source","qa_data/jpg/penguins2.jpg") If success <> 1 Debug CkHttpRequest::ckLastErrorText(req) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) ProcedureReturn EndIf ; Upload the image file.. resp.i = CkHttp::ckSynchronousRequest(http,"graph.facebook.com",443,1,req) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) ProcedureReturn EndIf ; Examine the response body: responseJson.s = CkHttpResponse::ckBodyStr(resp) Debug responseJson ; The response contains JSON, such as this: ; {"id":"10210224963435862","post_id":"10224048320139890_10210224963435862"} CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.