У меня есть блог на wordpress. Мне нужно проиндексировать, сколько раз к каждой странице поделились, и отсортировать мои сообщения по количеству репостов.
Я сделал небольшой скрипт, который запрашивает каждую страницу в блоге, например
while ($posts->have_posts()) {
$posts->the_post();
$obj_fb = json_decode(file_get_contents('http://graph.facebook.com/?id=' . get_permalink()));
$likes_fb = $obj_fb->shares;
update_post_meta($post->ID, 'meta_fb_likes', $likes_fb, false);
}
Обратите внимание, что я не использую токены доступа.
Скрипт работает для определенного количества страниц, например 50 или 100, но когда я обрабатываю большое количество страниц, например 300 или около того, это занимает около минуты и возвращает ошибку выполнения 403 из api графика.
Посоветуйте, пожалуйста, что я делаю не так.
Вы не используете токены доступа, и именно в этом проблема. Теперь вы ДОЛЖНЫ использовать токен доступа для этого вызова. Просто используйте токен доступа к приложению, это самый простой, и вам не нужно для этого авторизоваться.
Как получить все токены доступа, описано в документации:
Изменить: О, я вижу, что это все еще работает для вас, но проблема в ограничении скорости API. Что ж, единственное, что вы можете сделать, чтобы этого избежать, - это делать меньше звонков. Конкретного лимита нет, но в целом «600 вызовов за 600 секунд» - хорошее правило, которое вы найдете во многих потоках.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения