好的,对我来说可能有很多问题。但我无法解决如何处理我的情况。 让我们开始:
我开发了一个房产列表网站。流程图很简单。用户可以使用Facebook登录发布任意数量的内容。
现在他们都没事。我也可以解决用户完成发布的方式,它会自动发布到他们的个人/用户墙页。
但我希望每个商家信息都应该发布在我的房产列表页面上。它是作为发布用户发布还是作为页面名称发布,没问题。但我需要确保它不使用我的个人/用户/管理员页面。
所以我找不到任何答案如何解决这个问题。如何在单个网站会话中,我的脚本可以发布到发布的用户墙,并发布到我的页面。如果禁止外国人用户而不是管理员发布到我的页面,那么当创建的facebook api属于用户时,如何以页面本身的名称发布到我的页面。我需要创建不同的facebook api对象吗?需要帮助..感谢任何可以帮助我的人。真的很感激。
以下是我使用的代码:
$attachment = array(
'message' => FB_STREAM_MSG,
'picture' => $imgsrc,
'link' => $seourl,
'name' => $prop_name,
'caption' => FB_STREAM_CAP,
'description' => substr($prop_desc,0,150) . '..',
);
$facebook->api("/$user/feed", 'POST', $attachment);
//$facebook->api("/".FB_PAGE_ID, 'POST', $attachment); //this doesn't work.
答案 0 :(得分:1)
好的...问题全部解决了!
要POST到其他用户墙,用户需要登录以生成用户令牌和代码,如下所示:
$attachment = array(
'message' => ClearText_FB($prop_name),
'picture' => $imgsrc,
'link' => $seourl,
'name' => ClearText_FB($prop_name),
'caption' => FB_STREAM_CAP,
'description' => ClearText_FB(substr($prop_desc,0,150) . '..'),
);
$facebook->api("/$user/feed", 'POST', $attachment);
要发布到我们自己的页面墙,用户是谁,无论用户是否是该页面的管理员,都无关紧要。但是获取页面访问令牌以授予应用程序发布到页面墙是很重要的。 fb文档说页面访问令牌将永远存在,所以我们只需要获取一次并将其保存以供下次使用。
第一次获取页面访问令牌:
$page_access_token = "";
$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
if($page["id"] == $page_id) {
//$page_access_token = $page["access_token"];
$page_access_token = $facebook->api("/".FB_PAGE_ID."?fields=access_token");
break;
}
}
然后将$ page_access_token值保存到server / db或file。上面的代码不再需要了。注释或删除它。删除“名称”字段,因为它似乎会将帖子放在其他用户帖子部分下。这将作为页面发布到页面墙而不是用户:
$attachment = array(
'message' => ClearText_FB($prop_name),
'picture' => $imgsrc,
'link' => $seourl,
'description' => ClearText_FB(substr($prop_desc,0,150) . '..'),
'access_token' => $page_access_token,
);
$facebook->api("/".FB_PAGE_ID.'/feed', 'POST', $attachment);