Lua Requires Chilkat v11.0.0+
Lua
Facebook Upload Photo from Local File
See more Facebook Examples
Uploads a new photo with a caption from a local file.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example assumes Chilkat HTTP to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
local req = chilkat.HttpRequest.new()
req.http_verb = "POST"
req.content_type = "multipart/form-data"
req.path = "/v2.7/me/photos"
-- Use the previously obtained access token.
-- Note: The publish_actions scope is required to upload a photo.
req:add_header("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.
req:add_header("Expect", "100-continue")
-- Set a photo caption.
req:add_param("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.
local success = req:add_file_for_upload("source", "qa_data/jpg/penguins2.jpg")
if not success then
print(req.last_error_text)
return
end
-- Upload the image file..
local resp = chilkat.HttpResponse.new()
success = http:http_sreq("graph.facebook.com", 443, true, req, resp)
if not success then
print(http.last_error_text)
return
end
-- Examine the response body:
local responseJson = resp.body_str
print(responseJson)
-- The response contains JSON, such as this:
-- {"id":"10210224963435862","post_id":"10224048320139890_10210224963435862"}