首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不超过api配额的情况下,作为一个管理员用户管理多个页面?

如何在不超过api配额的情况下,作为一个管理员用户管理多个页面?
EN

Stack Overflow用户
提问于 2013-03-08 01:27:04
回答 3查看 605关注 0票数 17

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

无论出于何种业务原因,我们的客户公司只为每个页面添加了一名员工作为管理员(与小企业主一起)。这个用户帐户已经添加了我们的应用程序,我们正在抓取页面令牌,并使用这些页面令牌来管理页面(更改联系信息,添加选项卡,获取墙上的帖子)。我们遇到了一些非常苛刻的api请求限制。现在我们每分钟只能添加3个新的Facebook页面(我认为这可能需要6-10个api调用)。

我见过有人估计,一个访问令牌允许600个请求/600秒,但我认为,由于我们使用页面令牌做大部分工作,我们的操作不会计入单个api限制。

有没有人知道api限制是否基于单个令牌,即使它们在技术上属于同一用户?考虑到我不能向这些页面添加更多的管理员,我有没有办法绕过这个限制?

EN

回答 3

Stack Overflow用户

发布于 2013-03-23 18:53:47

实际上,这很简单,你只需要请求页面的访问令牌,而不是用户。

代码语言:javascript
复制
    $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));

第一行将获得该用户的访问令牌,第二行只是使用multiquery的一个示例,并减少您的调用。

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

如果你想对你的页面做一些事情,你可以使用批处理请求。这是一个发布状态的例子,你可以添加更多,直到50批请求在同一调用。

代码语言:javascript
复制
$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;

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-04-17 19:37:45

正如@Julio Popócatl所提到的,使用页面访问令牌(从长期的用户令牌生成)可能是一个很好的选择。

这些页面访问令牌一旦正确生成,它们将永远不会过期,因此您至少需要少运行一个查询。

API请求限制适用于来自用户、页面、应用程序的每个请求。无论请求的来源是什么,他们总是向Facebook模式提出请求。

Using batch requests is a good idea too,因为它将通过一个(或更少)请求获取多个数据,而不是单独发出每个请求。

票数 2
EN

Stack Overflow用户

发布于 2013-03-08 02:13:23

我们遇到了一些非常苛刻的

请求限制。现在我们一分钟只能添加3个新的Facebook页面

我根本不认为这是一个“苛刻”的限制。想象一下,如果大量的应用程序在几分钟内创建数百或数千个页面,会发生什么……垃圾邮件垃圾邮件!!1

我看到有人估计,一个访问令牌允许600个请求/600秒,但我认为,由于我们使用页面令牌做了大部分工作,我们的操作不会计入单个api限制。

该限制仅基于应用程序ID强制执行。您到底在使用API做什么以及作为谁(用户、页面)并不重要。

有什么办法可以绕过这个限制吗?

在很短的时间内添加大量的新页面对我来说确实像垃圾邮件,很多。我想不出一个好的理由为什么一个人会想要这样做。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15277790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档