curl 请求的以下部分意味着发布一个名为 test.jpg 的参数,该参数引用当前目录中名为 test.jpg 的本地文件路径。
test.jpg=@test.jpg
如果您使用 c#,您可能需要查看 facebooksdk.net 提供的开源库(注意,它不是由 Facebook 生产的):
http: //facebooksdk.net/docs/making-synchronous-requests/
使用它,它可能是几行代码:
var fb = new FacebookClient("access_token");
string attachementPath = @"C:\\image.jpg";
dynamic result = fb.Post("act_YOURACCOUNTID/adimages",
new
{
file = new FacebookMediaObject
{
ContentType = "image/jpeg",
FileName = Path.GetFileName(attachementPath)
}.SetValue(File.ReadAllBytes(attachementPath))
}
);
由于您还标记了 PHP,您可以使用 Facebook 生成的 Facebook SDK,代码如下:https ://github.com/facebook/facebook-php-sdk/
$facebook = new Facebook(array(
'appId' => 'YOUR_APPID',
'secret' => 'YOUR_APPSECRET',
));
$facebook->setAccessToken("YOUR_ACCESS_TOKEN");
$facebook->setFileUploadSupport(true);
$file='./test.jpg';
$args = array(
basename($file) => '@' . realpath($file),
);
$response = $facebook->api('/act_YOURACTID/adimages','post',$args);