facebook-graph-api – 如何管理多个页面作为一个管理员用户,而不超过api配额?

我的客户公司为几千家小企业管理Facebook Pages。我们已经建立了一个Facebook应用程序,为我们的客户简化流程,并允许他们一次性对许多/所有页面进行快速更改。

无论企业原因如何,我们的客户公司只有其中一名员工作为管理员(连同小企业主)一起添加到这些页面中。此用户帐户已添加我们的应用程序,我们正在抓取页面令牌并使用这些页面令牌来管理页面(更改联系人信息,添加选项卡,抓取墙壁帖子)。我们正在反对一些非常苛刻的api请求限制。现在我们每分钟只能添加3个新的Facebook页面(我认为,当所有这一切都说完成时,我可能需要6-10个api的电话)。

我看到人们估计一个允许你访问约600次/ 600秒的访问令牌,但是我认为,由于我们使用页面令牌进行大部分的工作,因此我们的操作不会被计入单一的api限制。

有没有人知道api限制是否基于个人令牌,即使他们技术上属于同一用户?有没有办法可以解决这个限制,因为我无法真正添加更多的管理员到这些页面?

非常简单,您只需要为PAGE请求一个访问令牌,而不是用户。

    $mQuery=array('access_token'=> 'SELECT access_token FROM page WHERE page_id = 'page_id,    
                  'album_id'=> 'SELECT object_id FROM album WHERE owner = '.page_id.' AND name = "Timeline Photos"');
    $multiQueryResult = $facebook->api(array('method'=>'fql.multiquery', 'queries'=>$mQuery));

第一行将让您获得该用户的访问令牌,第二行则是使用多查询的示例,并减少您的呼叫。

您可以在多重查询中使用最多50个查询

如果您想要在页面上执行多项操作,可以使用批处理请求。这是发布状态的示例,您可以添加更多,直到在同一个调用中的50个批处理请求。

$v['body']['message']=htmlspecialchars_decode($v['message'], ENT_QUOTES);
$v['body']['scheduled_publish_time']=strtotime($v['scheduled_publish_time']);
$v['body']['published']='false';
$v['body']=http_build_query($v['body']);
$batch[]=$v;

try {
    $batchresult = $facebook->api("/?batch=".urlencode(json_encode($batch)), 'POST', array('access_token'=>$access_token));
} catch (FacebookApiException $e) {
    echo $e->getMessage(); 
}
echo $batchresult;

希望这可以帮助。

http://stackoverflow.com/questions/15277790/how-can-i-manage-many-pages-as-one-admin-user-without-exceeding-api-quota

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:facebook-graph-api – 如何管理多个页面作为一个管理员用户,而不超过api配额?