Facebook图形API&;PHP SDK问题

Facebook图形API&;PHP SDK问题,php,api,facebook,upload,sdk,Php,Api,Facebook,Upload,Sdk,我在使用facebook graph api时遇到了几个问题 1) 。 当我试图上传一张照片时,我遇到以下错误“(#324)需要上传文件” 我确信消息来源是正确的。我试过用一张照片从互联网上,而不是从本地电脑也 2) 。如何从facebook中删除对象?。(例如,墙上的信息)。 我试过这个: $fb->api('/post_id'、'post',数组('method'=>'delete') 但我得到“不支持的POST请求”错误 任何帮助都将不胜感激 编辑:以下是我找到的将照片上传到Faceboo

我在使用facebook graph api时遇到了几个问题

1) 。 当我试图上传一张照片时,我遇到以下错误“(#324)需要上传文件”

我确信消息来源是正确的。我试过用一张照片从互联网上,而不是从本地电脑也

2) 。如何从facebook中删除对象?。(例如,墙上的信息)。 我试过这个: $fb->api('/post_id'、'post',数组('method'=>'delete')

但我得到“不支持的POST请求”错误

任何帮助都将不胜感激

编辑:以下是我找到的将照片上传到Facebook的完整解决方案。您需要具有2.1.1或更高版本的PHP SDK

 $fb = new Facebook(array(
                        'appId'  => ...,
                        'secret' => ...,
                        'cookie' => true,
        ));

$fb->setFileUploadSupport(true);
      $attachement = array(
                            'access_token'=> '...',
                            'name' => 'uploaded foto',
                            'source' => '@absolute_path_to_the_file'
                    );



      $fb_foto = $fb->api('me/photos','POST',$attachement);

关于你的第二个问题,我记得在某个地方读到了关于删除请求的文章,而不是帖子。见: 阅读

查看
参数的格式

$fb_foto = $fb->api('me/photos','POST',array(
    'access_token' => (...)
  , 'message'      => 'Caption'
  , 'source'       => '@' . realpath( 'path/to/file' )
));
要删除照片,请再次回答:发出删除请求

$fb->api( '/PHOTO_ID', 'DELETE' );

我在新的PHPSDK(v2.1.1,facebook-php-sdk-v2.1.1-0-g08909f3.zip)中使用这种方法来上传新事件的照片。下面的php代码创建事件

$fname="/tmp/foo.jpg"; $attachment = array( 'access_token' => $facebook->getAccessToken(), 'name' => substr(event_name), 'description' => my_description, 'start_time' => my_start_time, 'link' => my_link, 'source'=> '@'.$fname ); $result = $facebook->api('/me/events', 'POST', $attachment); $fname=“/tmp/foo.jpg”; $attachment=array( “访问令牌”=>$facebook->getAccessToken(), “名称”=>substr(事件名称), “描述”=>我的描述, “开始时间”=>我的开始时间, “链接”=>我的链接, '源'=>'@'。$fname ); $result=$facebook->api('/me/events',POST',$attachment);
$attachement包含什么?我已经用$attachment的完整细节编辑了这篇文章。我知道我在什么地方见过它。谢谢你的工作?(对照片发出删除请求?)。我唯一的解释是因为我在localhost工作。无论如何,我没有任何其他问题(张贴到墙上,张贴评论等)$attachement=array('access\u token'=>(…)'name'=>'上传到,'source'=>'@.realpath('C:\Documents and Settings\Username\Desktop\1.jpg')$fb_foto=$fb->api('me/photos','POST',$attachement);哦,最肯定的是因为localhost不,它不是localhost。这是PHPSDK的一个bug。我已经更新到2.1.1版本并添加了这一行:$fb->setFileUploadSupport(true);现在一切正常。
$fb->api( '/PHOTO_ID', 'DELETE' );
$fname="/tmp/foo.jpg"; $attachment = array( 'access_token' => $facebook->getAccessToken(), 'name' => substr(event_name), 'description' => my_description, 'start_time' => my_start_time, 'link' => my_link, 'source'=> '@'.$fname ); $result = $facebook->api('/me/events', 'POST', $attachment);