Подтвердить что ты не робот

Как я могу управлять многими страницами в качестве одного пользователя-администратора без превышения квоты api?

Моя клиентская компания управляет страницами Facebook для нескольких тысяч малых предприятий. Мы создали приложение Facebook, которое для нашего клиента упростило процесс и позволило им быстро вносить изменения во многие/все страницы за один раз.

По каким-либо причинам бизнеса наша клиентская компания имеет только ОДИН из своих сотрудников, добавленных в качестве администратора (вместе с владельцем малого бизнеса) для каждой из этих страниц. Эта учетная запись пользователя добавила наше приложение, и мы захватываем маркеры страниц и используем эти жетоны страницы для управления страницей (измените контактную информацию, добавьте вкладку, запишите настенные сообщения). Мы сталкиваемся с некоторыми очень суровыми требованиями к api. Прямо сейчас мы можем добавить только 3 новых страницы Facebook в минуту (что, я думаю, требует, возможно, 6-10 звонков, когда все будет сказано и сделано).

Я видел, как люди оценивают, что вам разрешено около 600 запросов /600 секунд для токена доступа, но я думал, что, поскольку мы выполняем большую часть работы с токенами страницы, наши действия не будут учитываться в отношении одного предела api.

Кто-нибудь знает наверняка, если лимиты api основаны на отдельных токенах, даже если они технически принадлежат одному и тому же пользователю? Есть ли способ обойти этот предел, учитывая, что я не могу добавить дополнительных админов на эти страницы?

4b9b3361

Ответ 1

Фактически его довольно просто, вам просто нужно попросить токен доступа для 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;

Надеюсь, что это поможет.

Ответ 2

Как упоминал @Julio Popócatl, использование токена доступа к странице (сгенерированного из долгоживущего токена пользователя) может быть хорошим выбором.

Эти токены доступа к странице, когда они созданы правильно, они никогда не истекают, поэтому вам нужно выполнить хотя бы один меньше запросов.

Предел запросов API применяется к каждому запросу, от пользователя, страницы, приложения и т.д. Они всегда спрашивают что-то о схеме Facebook, независимо от источника запроса.

Использование пакетных запросов также является хорошей идеей, так как это будет получение нескольких данных с одним (или меньшим) запросом, чем индивидуальный запрос каждого запроса.

Ответ 3

Мы сталкиваемся с некоторыми очень суровыми ограничениями api-запросов. Прямо сейчас мы можем добавить только 3 новых страницы Facebook в минуту

Я бы не назвал это "суровым" лимитом вообще. Изображение, что произойдет, если большое количество приложений создаст сотни или тысячи страниц за считанные минуты... spam Spam SPAM!! 1

Я видел, как люди оценивают, что вам разрешено около 600 запросов /600 секунд для токена доступа, но я думал, что, поскольку мы выполняем большую часть работы с токенами страницы, наши действия не будут учитываться в отношении одного предела api.

Предел применяется только на основе идентификатора приложения. Что именно вы делаете с API и как кто (пользователь, страница) не имеет значения.

Есть ли способ обойти этот предел

Добавление большого количества новых страниц за короткое время для меня очень похоже на спам. Я не могу придумать вескую причину, по которой хотелось бы сделать это.