我很难找到办法做到这一点。可能这是不可能的,但我没有找到任何资源说这不能做。所以我想发布在这里。
我正在开发一个Facebook应用程序,它有照片上传功能。我试图做的是,当用户上传图像时,图像将自动添加到我的粉丝页面。
所以我这样经历了。但它只适用于管理员。 (我硬编码管理员用户ID)
$fanpageId = 562**23; //My Facebook fanpage ID
$adminFbId = 100***12; // facebook user ID of admin (Fanpage)
try{
$pagesInfo = $facebook->api("/100***00/accounts");
}
catch (FacebookApiException $e){
echo $e;
}
foreach($pagesInfo["data"] as $page) {
if($page["id"] == $fanpageId) {
$page_access_token = $page["access_token"];
break;
}
}
if( !empty($page_access_token) ) {
$args = array(
'access_token' => $page_access_token,
'message' => "I'm a Page from test!"
);
$post_id = $facebook->api("/$fanpageId/feed","post",$args);
// sucess...
}
是否有任何可能的方式为App提供页面管理员权限或强制api使用管理员访问令牌发布?
答案 0 :(得分:1)
如果您希望用户在粉丝专页上发帖,为什么使用page access token
?
只需将access_token
中的$args
替换为access token
用户的publish_stream
{/ 1}}。
该帖子将在<粉丝页上代表用户通过您的应用发布。
答案 1 :(得分:1)
非常感谢我认为我正在取得一些进展。我做了你说的,现在消息发布在粉丝页面上。然后我尝试上传图片。这就是我做的事情
$args = array(
'access_token' => $access_token,
'image' => '@/my/upload/file/path/'.$fileName
);
try{
$post_id = $facebook->api("/".$fanpageId."/photos","post",$args);
}
catch (FacebookApiException $e){
echo $e;
}
但它抛出一个例外:OAuthException: An unknown error has occurred
。
我将用户权限设置为:publish_stream,photo_upload,user_photos