Аналитика Facebook - Получить количество акций для поста в Facebook? - PullRequest
0 голосов
/ 24 сентября 2018

Я использую аналитику Facebook (https://developers.facebook.com/), чтобы получить общее количество отсчетов для поста в Facebook (на веб-сайте WordPress), и это работало хорошо, пока кто-то не сделал несколько запросов на пост (когда яПолучив доступ к сообщению на моем веб-сайте, я делаю запрос к API api, чтобы получить количество акций на сообщение.) После того, как я сделаю несколько запросов к сообщению, например: http://kosovotwopointzero.com/sistemi-i-shendetesise-nen-mikroskop/, который на данный момент отключен, чтобы показать количество акций.потому что он не работает, API Facebook называется:

Это функции, которые я использую

function get_url_shares_count($url = '') {
    $fbUrl = 'https://graph.facebook.com//v2.1/?id='.$url.'&access_token=??|??';
    $request = wp_remote_get($fbUrl);
    $data = json_decode($request['body']);

//  return $data[0]->share_count;
    return is_null($data->share) ? 0 : $data->share->share_count;
}

Но почти всегда API возвращает мне это:

{
    "error": {
        "message": "(#4) Application request limit reached",
        "type": "OAuthException",
        "is_transient": true,
        "code": 4,
        "fbtrace_id": "GDs+M7u/zoO"
    }
}

Не могли бы вы помочь мне найти решение? Является ли это ограничение чем-то, что есть у Facebook в качестве политики или мы используем функцию?

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

1 Ответ

0 голосов
/ 24 сентября 2018

Я предлагаю также получить данные;

  • один раз в час
  • каждый раз, когда пользователь снова входит в систему

как?

Примерно так должно работать:

function YourFunctionName()
{
    $HourAgo = date('m/d/Y h:i:s a', time() -(3600));
    $newload = false;

    if (isset($_SESSION['LastApiCall'])) {
        if (strtotime($HourAgo) >= strtotime($_SESSION['LastApiCall'])) {
            $newload = true;
        }
    }else{
        $newload = true;
    }

    if ($newload) {
        $content = 'your_url'
        $_SESSION['apiData'] = json_decode($content);
       // Handle api data
        $_SESSION['LastApiCall'] = date('m/d/Y h:i:s a', time());
    }
}

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

Примечание: не проверялосьэто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...