1

好的,对我来说可能有很多问题。但我无法解决如何处理我的情况。 让我们开始吧:Facebook API:如何发布到我自己的墙上页面?

我开发一个房地产列表网站。该流程图很简单。用户可以发布尽可能多的他们想要使用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

要发布到页面_as_页面,您需要一个页面访问令牌。 https://developers.facebook.com/docs/facebook-login/access-tokens/ – CBroe

+0

据我所知,授予访问页面的页面访问令牌由进行登录的用户拥有。它也可以访问我的页面墙吗?我打算在我的页面发布帖子,但在网络上创建的会话/ fb api属于用户。登录的用户是可能不是我的外国人,也不具有对该页面的访问权限/管理员权限。 –

+0

我曾尝试添加新的权限“manage_pages”。但它似乎授予应用程序来管理登录的用户所拥有的页面,它没有说明授予我访问页面的权限。上面的代码仍然没有工作。 –

回答

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值到服务器/数据库或文件。上面的代码不需要了。评论或删除它。删除'name'字段,因为它看起来会将帖子置于其他用户帖子部分下。这将作为页面发布到页面墙上而不是用户:

$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); 
相关问题