Cách nhận số lượng chia sẻ bằng API biểu đồ


136

Tôi có thể lấy số lượng chia sẻ của một URL bằng PHP SDK và sử dụng API còn lại không dùng nữa, nhưng không tìm được cách lấy số lượng chia sẻ của một URL bằng API biểu đồ.

Có cách nào để tìm hiểu?


Nhận giải pháp cho bạn tại đây stackoverflow.com/questions/6137414/ từ
Sakata Gintoki

Vui lòng kiểm tra câu trả lời tại đây: stackoverflow.com/questions/9728279/ từ
Atif Tariq

Bài đăng ngày 8 tháng 8 năm 2016 (không phản đối): stackoverflow.com/a/39379251/4607317
budi

Câu trả lời:


270

Dưới đây là danh sách các liên kết API để lấy số liệu thống kê của bạn:

Facebook: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit: http://buttons.reddit.com/button_info.json?url=%%URL% %
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
Digg: http://widgets.digg.com/buttons/count?url=%%URL %%
Delicious: http://feeds.delicy.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/service/1.01/badge.getinfo?url = %% URL %%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

Chỉnh sửa: Đã xóa điểm cuối Twitter, vì điểm đó đã bị phản đối.

Chỉnh sửa: API Facebook REST không được dùng nữa


1
Công cụ được liên kết không hoạt động (cung cấp 403 lượt truy cập bị từ chối)
Maxim Krizhanovsky 23/214

2
Giới hạn cuộc gọi API là bao nhiêu cho mỗi yêu cầu?
StErMi

8
Chào bạn Cảm ơn vì danh sách này. Tôi không thể tìm thấy tài liệu cho điểm cuối API api.facebook.com/method/links.getStats . Nó thực sự hoạt động nhưng tôi muốn đảm bảo rằng nó không phải là một phần của phiên bản API sẽ sớm ngừng hoạt động. Ngoài ra, điều kỳ lạ là nó có sẵn mà không cần xác thực ... Bạn có thấy gì về điều này trong tài liệu facebook không? Nó không phải là một phần của API đồ thị ...
Żabojad

10
Liên kết Facebook không hoạt động nữa. Sử dụng graph.facebook.com/?id=http://www.google.com
MarkOverride

8
@MarkOverride một phiên bản thậm chí còn được tối ưu hóa hơn (ít băng thông hơn) là graph.facebook.com/?fields=share&id=http://www.google.com . Vấn đề là những điểm cuối mới này bị giới hạn tỷ lệ nghiêm trọng và rất khó sử dụng chúng trong sản xuất mà không gặp phải giới hạn nói trên. Nếu ai đó có một cách khác để làm điều đó xin vui lòng cho chúng tôi biết.
njy

200

CẬP NHẬT - 15 tháng 4:

Nếu bạn muốn lấy số đếm có sẵn trong nút Thích, bạn nên sử dụng engagementtrường trong og_objectđối tượng, như vậy:

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

Kết quả:

{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

Có thể với API đồ thị, chỉ cần sử dụng:

http://graph.facebook.com/?id=YOUR_URL

cái gì đó như:

http://graph.facebook.com/?id=http://www.google.com

Sẽ trở lại:

{
   "id": "http://www.google.com",
   "shares": 1163912
}

CẬP NHẬT: trong khi ở trên sẽ trả lời làm thế nào để có được số lượng chia sẻ . Số này không bằng số bạn thấy trên Nút Thích , vì số đó là tổng của:

  • Số lượt thích của URL này
  • Số lượng chia sẻ của URL này (bao gồm sao chép / dán liên kết trở lại Facebook)
  • Số lượt thích và bình luận về các câu chuyện trên Facebook về URL này
  • Số lượng tin nhắn hộp thư đến chứa URL này dưới dạng tệp đính kèm.

Vì vậy, có thể nhận được số nút Like với API đồ thị thông qua điểm fqlcuối ( link_statbảng):

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_count là số hiển thị trong Nút Thích.


Tôi không nhận được số lượng chia sẻ cho các đối tượng nhất định. Tôi biết họ nên có ít nhất một chia sẻ.
Jan Deinhard

1
@Fair, vâng, đôi khi con số không chính xác và hơi khó hiểu. Bạn có thể sử dụng bảng fql được đề xuất bởi câu trả lời khác, nhưng vẫn ... đôi khi các con số cũng không đúng!
ifaour

Có thể lấy cổ phần của một vài trang web?
Aziz

@Aziz, ý bạn là gì?
ifaour

3
Như v2.6 doc không cho phép bạn có được share_count, like_countcomment_count, có vẻ như fqlvà REST API vẫn là lựa chọn tốt nhất ... Nhưng cả hai fqlvà REST API sẽ không còn có sẵn sau 07 tháng 8 năm 2016! Bất kỳ đề xuất?
Daniel García Baena

21

Bạn không nên sử dụng đồ thị api. Nếu bạn gọi:

hoặc là

cả hai sẽ trở lại:

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

Nhưng số hiển thị là tổng của :

  • số lượt thích của URL này
  • số lượng chia sẻ của URL này (bao gồm sao chép / dán liên kết trở lại Facebook)
  • số lượt thích và bình luận về các câu chuyện trên Facebook về URL này
  • số lượng tin nhắn hộp thư đến chứa URL này dưới dạng tệp đính kèm.

Vì vậy, bạn phải sử dụng FQL.
Nhìn vào câu trả lời này: Cách lấy lượt thích, chia sẻ, bình luận trên facebook từ một bài viết


bạn hoàn toàn đúng, bởi Total_shares là tổng số bình luận + lượt thích + lượt chia sẻ nhưng trang tôi yêu cầu, hiển thị Shares_i_have = Total_shares + lượt thích
Aziz

14

Sau ngày 7 tháng 8 năm 2016 bạn vẫn có thể thực hiện cuộc gọi của mình như thế này:

http://graph.facebook.com/?id=https://www.apple.com/

nhưng định dạng phản hồi sẽ khác: nó sẽ không

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

nhưng thay vào đó sẽ là

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.apple.com"
}

Vì vậy, bạn sẽ phải xử lý phản hồi như thế này:

reponse_variable.share.share_count

1
Nhưng giá trị share_count là sai lệch, vì nó đề cập đến tổng số lượt thích + cổ phiếu
Alon Bilu

Tôi đoán bạn đã đúng, câu trả lời của tôi chỉ là một bản cập nhật về cách gọi API. Tôi nghĩ những gì @freedev nói về số lượng chia sẻ vẫn có thể đúng.
Giorgio Tempesta

8

Điều tôi thấy hữu ích và tôi tìm thấy trên một liên kết ở trên là truy vấn FQL này nơi bạn yêu cầu lượt thích, tổng số, chia sẻ và nhấp vào số lượng của một liên kết bằng cách xem bảng link_stat

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

Điều đó sẽ tạo ra một cái gì đó như thế này:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}

2
Kể từ ngày 8 tháng 8 năm 2016, FQL sẽ không còn nữa và không thể truy vấn được. Để di chuyển ứng dụng của bạn, hãy sử dụng Công cụ nâng cấp API để xem các lệnh gọi API đồ thị mà bạn có thể thực hiện thay thế.
Nguyễn Minh Bình

7

Kiểm tra ý chính này . Nó có đoạn trích về cách lấy số lượng chia sẻ cho các dịch vụ sau:

  • Facebook
  • Twitter
  • Google cộng
  • Pinterest
  • LinkedIn
  • Vấp ngã

Đây là một vài năm tuổi. Với tần suất mỗi dịch vụ cập nhật API của họ, tôi nghi ngờ nó rất chính xác.
subvertallchris

4

Nút thích facebook thực hiện hai điều mà API không làm. Điều này có thể tạo ra sự nhầm lẫn khi bạn so sánh hai.

  1. Nếu URL bạn sử dụng trong nút thích của bạn có chuyển hướng, nút thực sự sẽ hiển thị số lượng URL chuyển hướng so với số lượng URL bạn đang sử dụng.

  2. Nếu trang có thuộc tính og: url, nút like sẽ hiển thị lượt thích của url đó thay vì url trong trình duyệt.

Hy vọng điều này sẽ giúp ai đó



1

Khi tôi sử dụng FQL, tôi đã tìm thấy sự cố (nhưng vẫn còn sự cố) tài liệu nói rằng số được hiển thị là tổng của:

  • số lượt thích của URL này
  • số lượng chia sẻ của URL này (bao gồm sao chép / dán liên kết trở lại Facebook)
  • số lượt thích và bình luận về các câu chuyện trên Facebook về URL này
  • số lượng tin nhắn hộp thư đến chứa URL này dưới dạng tệp đính kèm.

nhưng trên trang web của tôi, số hiển thị là tổng của 4 số này + số cổ phần (một lần nữa)


1

Sử dụng FQL bạn có thể làm điều đó:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'

1

Có một viên ngọc ruby ​​cho nó - SocialShares

Hiện tại nó hỗ trợ các mạng xã hội sau:

  • Facebook
  • twitter
  • Google cộng
  • reddit
  • linkin
  • quan tâm
  • vấp ngã
  • vkontakte
  • mail.ru
  • odnoklassniki

Sử dụng:

:000 > url = 'http://www.apple.com/'
  => "http://www.apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
  => true

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.