(VBScript) Facebook Upload Photo from Local File

Chilkat ActiveX Downloads

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
' This example assumes Chilkat HTTP to have been previously unlocked.' See Unlock HTTP for sample code.set http = CreateObject("Chilkat_9_5_0.Http")
set req = CreateObject("Chilkat_9_5_0.HttpRequest")
req.HttpVerb = "POST"
req.ContentType = "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.AddHeader"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.AddHeader"Expect","100-continue"' Set a photo caption.
req.AddParam"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 = req.AddFileForUpload("source","qa_data/jpg/penguins2.jpg")
If (success <> 1) Then
outFile.WriteLine(req.LastErrorText)
WScript.Quit
End If' Upload the image file..' resp is a Chilkat_9_5_0.HttpResponse
Set resp = http.SynchronousRequest("graph.facebook.com",443,1,req)
If (http.LastMethodSuccess <> 1) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If' Examine the response body:
responseJson = resp.BodyStr
outFile.WriteLine(responseJson)
' The response contains JSON, such as this:' {"id":"10210224963435862","post_id":"12345678901234567_10210224963435862"}
outFile.Close