好吧,这就是我所面临的:
我为我的 facebook 粉丝页面制作了一个应用程序,我的应用程序是 Facebook Page Tab 应用程序。
我已通过以下方式将应用程序添加到我的 Facebook 页面:
http://developers.facebook.com/docs/appsonfacebook/pagetabs/
分别输入:
http://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&next=YOUR_URL
并选择要添加到哪个页面。
完成此操作后,我与我的 Facebook 页面管理员用户一起完成了此操作。
我已经允许manage_pages和publish_stream和publish_actions权限。
这是我的代码:
$objFacebook = App_Utils_Facebook::getFacebook();
$user_id = $objFacebook->getUser();
$objFacebook->setFileUploadSupport(true);
if(isset($_REQUEST['pageId'])){
$arrPriv = $objFacebook->api("/".$_REQUEST['pageId']."/", array('fields'=>'access_token'));
$link = 'http://link/here/'.$this->objAnunt->id;
}
$privacy = json_encode(array('value'=>'SELF'));
if(isset($arrPriv['access_token'])){
$access_token = $arrPriv['access_token'];
}else{
$access_token = $objFacebook->api("/".$_REQUEST['pageId']."/", array('fields'=>'access_token'));
}
if($user_id){
try{
$ret=$objFacebook->api("/".$arrPriv['id']."/photos",'POST',array(
'source'=>'@link/to/pic.jpg',
'message'=>$strTitle.'
For more details click here '.$link,
'access_token'=>$access_token,
'privacy'=>$privacy
)
);
unlink('link/to/pic.jpg');
}catch(FacebookApiException $e) {
echo $e;
}
}else{
$permissions = $objFacebook->api("/me/permissions");
if( !array_key_exists('publish_stream', $permissions['data'][0]) ||
!array_key_exists('manage_pages', $permissions['data'][0])) {
// We don't have one of the permissions
// Alert the admin or ask for the permission!
header( "Location: " . $objFacebook->getLoginUrl(array("scope" => "publish_stream, manage_pages")) );
}
}
所以我再重复一遍,我想让普通用户访问我的应用程序,并让页面本身发布在它自己的墙上。
我可以做吗?如果没有,还有其他选择。
感谢您的时间和耐心帮助我解决这个问题!