2013-08-06 84 views
0

我已经使用PHP Facebook SDK构建了一个应用程序。它允许用户通过facebook OAth验证我的应用程序,以便他们可以通过我的应用程序更新他们的状态。这很好,但是我的很多用户都有商业页面,他们想要更新他们的商业页面上的状态而不是他们的主要个​​人信息。这怎么可能?以下是我到目前为止。Facebook API - 使用Oauth更新页面状态的应用程序

if ($status != ''){ 

        try { 
         $parameters = array(
          'message' => "$status"/*, 
          'picture' => $_POST['picture'], 
          'link' => $_POST['link'], 
          'name' => $_POST['name'], 
          'caption' => $_POST['caption'], 
          'description' => $_POST['description']*/ 
         ); 

         //add the access token to it 
         $parameters['access_token'] = $access_token; 

         //build and call our Graph API request 
         $newpost = $facebook->api(
          '/me/feed', 
          'POST', 
          $parameters 
         ); 

         $success['status'] = "$xml->status"; 
         $xml2 = new XMLGenerator($success, 'facebook','status'); 
         $returnData = $xml2->output;        

         $returnData = APIResponse::successResponse('200', "$xml->status"); 

        } catch (Exception $e) { 
         $returnData = APIResponse::errorResponse('400', 'Facebook Error: '.$e);  
        } 

我假设我必须更改'/ me/feed'?但是到了什么?他们有多个页面,我的应用程序如何知道要发布哪个页面?

任何帮助,这将不胜感激。

回答

0

您可以将me替换为PAGE_ID以发布到页面,例如/ 013857894/feed。确保您已完成使用manage_pagespublish_stream权限的OAuth进程。您可以在下面的链接了解详情:

https://developers.facebook.com/docs/reference/api/page/#statuses

如果用户有多个页面,那么你首先需要给他们选择的一些方式,他们要张贴到哪个页面。您可以通过为该用户调用/me/accounts来查找给定用户是哪个Facebook页面的管理员。您可以在此页面的“连接”部分了解有关此方法的更多信息:

https://developers.facebook.com/docs/reference/api/user/

相关问题