it-swarm.com.ru

Получение Facebook как / поделиться счет для данного URL

Я использую API Facebook, чтобы получить количество лайков/лайков для заданных URL. Странная вещь в том, что это кажется весьма непоследовательным в возвращении результатов Например, эта страница возвращает результаты:

 Https://api.facebook.com/method/fql.query?query=select%20total_count,like_count,comment_count,share_count,click_count%20from%20link_stat%20where%20url='http://www. groupon.com/deals/seattlehelitourscom-by-classic-helicopter-corp'&format=json

Принимая во внимание, что этот не:

 Https://api.facebook.com/method/fql.query?query=select%20total_count,like_count,comment_count,share_count,click_count%20from%20link_stat%20where%20url='http://www. livingsocial.com/deals/278194-sunset-kayaking-hot-chowder'&format=json

На второй странице явно указан общий ресурс, и когда я проверяю HTML-код страницы, URL-адрес, который используется для обмена, - это тот, который я поместил в запрос API выше. Тем не менее, API не отвечает ни с какой информацией о количестве ни лайков, ни акций.

Любые подсказки о том, почему API может отвечать за некоторые URL-адреса, но не за другие?

56
Vijay Boyapati

ОБНОВЛЕНИЕ: Это решение больше не действует. FQL устарели с 7 августа 2016 года.


https://api.facebook.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22http://www.techlila.com%22 знак равно

Также http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.techlila.com покажет вам все данные, такие как "Share Count", " Например, "Количество" и "Количество комментариев" и всего этого.

Измените URL (т.е. http://www.techlila.com ) в соответствии с вашими потребностями.

Это правильный URL, я получаю правильные результаты.

РЕДАКТИРОВАТЬ (май 2017 г.): начиная с версии 2.9 можно выполнить вызов API Graph, где ID - это URL-адрес, и выбрать поле "Участие", ниже приведена ссылка с примером из Проводника графика.

https://developers.facebook.com/tools/Explorer/?method=GET&path=%3Fid%3Dhttp%3A%2F%2Fcomunidade.edp.pt%26fields%3Dengagement&version=v2.9

47
Rajesh Namase

по состоянию на 8 августа 2016 г. FQL устарели.


Обновление 10/2017 (версия 2.10):

Вот не осуждаемый способ получения заданного количества ссылок и общего ресурса для данного URL (токен доступа не требуется):

https://graph.facebook.com/?fields=og_object {likes.summary (TOTAL_COUNT) .limit (0)}, доля & ID = HTTPS: //www.stackoverflow.com


Результат:

{
   "og_object": {
      "likes": {
         "data": [

         ],
         "summary": {
            "total_count": 83
         }
      },
      "id": "10151023731873397"
   },
   "share": {
      "comment_count": 0,
      "share_count": 2915
   },
   "id": "https://www.stackoverflow.com"
}

Пример JQuery:

$.get('https://graph.facebook.com/'
    + '?fields=og_object{likes.summary(total_count).limit(0)},share&id='
    + url-goes-here,
    function (data) {
        if (data) {
            var like_count = data.og_object.likes.summary.total_count;
            var share_count = data.share.share_count;
        }
    });

Ссылка:

https://developers.facebook.com/docs/graph-api/reference/url

42
budi

Используйте API открытого графа. Вот живой пример, запрашивающий, сколько лайков у "Кока-Колы".

https://developers.facebook.com/tools/Explorer/?method=GET&path=cocacola%3Ffields%3Dlikes

Что сводится к:

https://graph.facebook.com/cocacola?fields=likes

Что вы могли бы сделать в AJAX GET

Результат:

{
  "likes": 71717854, 
  "id": "40796308305"
}
17
John Culviner

Все предыдущие ответы с тех пор устарели. Этот метод работает с августа 2016 года:


Чтобы получить количество ссылок на любой URL:

ПОЛУЧИТЬ запрос: https://graph.facebook.com/ [url]/access_token = [access_token]

Затем возьмите share-> share_count из возвращенного объекта JSON.


Количество поклонников на странице Facebook:

GET запрос: https://graph.facebook.com/ [url] /? Fields = fan_count & access_token = [access_token]

Затем возьмите поле 'fan_count' из возвращенного объекта JSON.


Вы можете проверить это и получить свой токен доступа, используя Graph API Explorer

11
jetlej

График Facebook - это круто. Просто сделайте что-то вроде ниже. Я ввел Perl.org URL, вы можете поместить любой URL там.

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%27http:/ /Perl.org%27

7
Chankey Pathak

Для последней версии 2.1 Graph API, примером для получения лайков для imdb.com будет

Используя это, чтобы получить идентификатор https://developers.facebook.com/tools/Explorer/?method=GET&path=%3Fid%3Dhttp%253A%252F%252Fwww.imdb.com%3Ffields%3Dlikes&version=v2. 1

а потом получить лайки

https://developers.facebook.com/tools/Explorer/?method=GET&path=414652589771%2Flikes&version=v2.1

Документ

URL /?id={url}

Represents an external URL as it relates to the Facebook social graph - shares and comments from the URL on Facebook, and any Open Graph objects associated with the URL.

Ссылка http://harshtechtalk.com/how-get-likes-count-posts-comments-facebook-graph-api/

7
vincentlcy

Вы можете показать Facebook Share/Like Count, как это: (Проверено и проверено)

$url = http://www.yourdomainname.com // You can use inner pages

$rest_url = "http://api.facebook.com/restserver.php?format=json&method=links.getStats&urls=".urlencode($url);

$json = json_decode(file_get_contents($rest_url),true);


echo Facebook Shares = '.$json[0][share_count];

echo Facebook Likes = '.$json[0][like_count];

echo Facebook Comments = '.$json[0][comment_count];
4
Atif Tariq

Для Graph API v2.1 вы можете получить счетчик одинаковых значений, используя только один вызов, и, следовательно, нет необходимости проходить пейджинг.

Например, чтобы получить количество лайков http://www.imdb.com

https://graph.facebook.com/414652589771/likes?summary=1

Graph API Explorer https://developers.facebook.com/tools/Explorer/?method=GET&path=414652589771%2Flikes%3Fsummary%3D1&version=v2.1

Это как-то не документировано (по крайней мере, на данный момент я представляю этот ответ ...). Я нашел ответ в https://stackoverflow.com/a/18198957/1822624

3
Edward Fung

используйте ниже URL и замените myurl на ваш пост, и вы получите все

http://api.facebook.com/restserver.php?method=links.getStats&urls=myurl

но имейте в виду, что он даст вам ответ только в формате XML

Пример :

<share_count>1</share_count>
<like_count>8</like_count>
<comment_count>0</comment_count>
<total_count>9</total_count>
<click_count>0</click_count>
<comments_fbid>**************</comments_fbid>
<commentsbox_count>0</commentsbox_count>
2
varun

Ваш вопрос довольно старый, и теперь Facebook отказался от FQL, но вы можете сделать это с помощью этой утилиты: Facebook Analytics . Тем не менее, вы обнаружите, что если вы хотите получить подробную информацию о том, кто любит или комментирует, это займет много времени, чтобы получить. Это потому, что Facebook выдает только очень маленький кусок данных за раз, и для получения всего требуется много подкачки.

1
Loïc Joachim

Вам нужно расширенное разрешение "read_stream", затем вам нужно вызвать конечную точку API Facebook и добавить likes,shares к своему fields.

Этот звонок

https://developers.facebook.com/tools/explorer?method=GET&path=me/feed?fields=likes,shares

вернет массив данных, как это

{
   "data": [
    {
     "likes": {
        "data": [
                 {
                   "name": "name of user who liked status ",
                   "id": "id of user who liked status "
                 }
                ],
        "count": number of likes
     },
     "shares": {
      "count": number of shares 
     }, 
     "id": "post id",
     "created_time": "post creation time"
    }
   ]
}
1
Abood Sy

Я вижу этот хороший урок о том, как получить счетчик лайков из Facebook с помощью PHP.

public static function get_the_fb_like( $url = '' ){
 $pageURL = 'http://nextopics.com';

 $url = ($url == '' ) ? $pageURL : $url; // setting a value in $url variable

 $params = 'select comment_count, share_count, like_count from link_stat where url = "'.$url.'"';
 $component = urlencode( $params );
 $url = 'http://graph.facebook.com/fql?q='.$component;
 $fbLIkeAndSahre = json_decode( $this->file_get_content_curl( $url ) ); 
 $getFbStatus = $fbLIkeAndSahre->data['0'];
 return $getFbStatus->like_count;
}

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

Создание пользовательского аккаунта типа Facebook

1
reylimjr

Я не думаю, что объект Open Graph Facebook, т. Е. "Og_object" предоставляет что-то большее, чем comment_count & share_count для URL. Попробуй это; замените $ YOUR_URL URL-адресом, а $ ACCESS_TOKEN - токеном доступа по приведенной ниже ссылке https://graph.facebook.com/v2.5/ $ YOUR_URL? access_token = $ ACCESS_TOKEN

Например:

https://graph.facebook.com/v2.5/http://espn.go.com/nfl/story/_/id/14424066/handing-holiday-gifts-all-32-nfl- команды-НФЛ? access_token = $ access_token

{
  og_object: {
    id: "956517601094822",
    description: "Naughty or Nice, every NFL team deserves something for Christmas. So in lieu of Santa Claus, Bill Barnwell is here to distribute some gifts.",
    title: "Barnwell: Handing out holiday gifts to all 32 teams",
    type: "article",
    updated_time: "2015-12-23T17:20:55+0000",
    url: "http://espn.go.com/nfl/story/_/id/14424066"
  },
  share: {
    comment_count: 0,
    share_count: 354
  },
  id: "http://espn.go.com/nfl/story/_/id/14424066/handing-holiday-gifts-all-32-nfl-teams-nfl"
}

Кроме того, если вы попытаетесь получить лайки, вы получите следующую ошибку https://graph.facebook.com/http://rottentomatoes.com?fields=likes&summary=1&access_token= $ ACCESS_TOKEN

{
  error: {
    message: "(#100) Tried accessing nonexisting field (likes) on node type (URL)",
    type: "OAuthException",
    code: 100,
    fbtrace_id: "H+KksDn+mCf"
  }
}
0
blueskin