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

Получение значения Facebook как /share для данного 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-адреса, но не для других?

4b9b3361

Ответ 1

UPDATE: Это решение больше недействительно. FQLs устарели с 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", "Like Count" и "Comment Count" и общая сумма из всех этих.

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

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

EDIT (май 2017 года): по версии v2.9 вы можете сделать вызов API графика, где ID является URL-адресом, и выбрать поле "взаимодействие", ниже - ссылка на пример из проводника графа.

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

Ответ 2

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


Обновление 10/2017 (v2.10):

Здесь не устаревший способ получить заданный URL-адрес, например, и общий счет (не требуется токена доступа):

https://graph.facebook.com/?fields=og_object {likes.summary(total_count).limit(0)}, share & 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

Ответ 4

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


Чтобы получить одинаковое количество URL-адресов:

Запрос GET: 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.


Вы можете проверить это и получить свой токен доступа с помощью API-интерфейсов API диаграмм.

Ответ 6

В последнем API-интерфейсе 2.1 Graph пример для получения симпатий для 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

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

$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];

Ответ 8

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

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

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

Диалоговое окно API API https://developers.facebook.com/tools/explorer/?method=GET&path=414652589771%2Flikes%3Fsummary%3D1&version=v2.1

Это как-то не документировано (по крайней мере, на данный момент я отправляю этот ответ...). Я нашел ответ в fooobar.com/questions/46567/...

Ответ 9

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

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>

Ответ 10

Я вижу этот хороший учебник о том, как получить счетчик из 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 как такового

Ответ 11

Вам нужно расширенное разрешение "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"
    }
   ]
}

Ответ 12

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

Ответ 13

Я не думаю, что Facebook Open Graph Object i.e. "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-teams-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"
  }
}