1

好吧,我可能有很多相同的问题。但我无法解决如何处理我的情况。让我们开始:

我开发了一个房地产上市网站。流程图很简单。用户可以使用 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.
4

1 回答 1

1

好的...问题都解决了!

要发布到其他用户墙,用户需要登录以生成用户令牌和代码,通常如下所示:

$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 或文件中。上面的代码不再需要了。注释掉或删除它。删除“名称”字段,因为它似乎会将帖子放在其他用户帖子部分下。这将作为页面而不是用户发布到页面墙:

$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);
于 2013-10-04T07:19:39.190 回答