วิธีรับจำนวนการแบ่งปันโดยใช้กราฟ API


136

ฉันสามารถรับส่วนแบ่งของ URL โดยใช้ PHP SDK และใช้ API ที่เหลือที่เลิกใช้แล้ว แต่ไม่พบวิธีรับจำนวน URL ที่แบ่งใช้โดยใช้กราฟ API

มีวิธีใดบ้างที่จะทราบได้?


รับวิธีแก้ปัญหาสำหรับคุณที่นี่stackoverflow.com/questions/6137414/…
Sakata Gintoki

กรุณาตรวจสอบคำตอบได้ที่นี่: stackoverflow.com/questions/9728279/…
Atif Tariq

โพสต์เมื่อวันที่ 8 สิงหาคม 2016 (ไม่คัดค้าน) คำตอบ: stackoverflow.com/a/39379251/4607317
budi

คำตอบ:


270

นี่คือรายการลิงก์ API เพื่อรับสถิติของคุณ:

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.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url = %% URL %%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

แก้ไข: ลบจุดสิ้นสุด Twitter เนื่องจากมีการเลิกใช้งาน

แก้ไข: Facebook REST API เลิกใช้แล้ว


1
linkedin หนึ่งไม่ทำงาน (ปฏิเสธการเข้าถึง 403)
Maxim Krizhanovsky

2
ขีด จำกัด การโทรของ API สำหรับแต่ละคำขอเท่าไหร่
StErMi

8
สวัสดี ! ขอบคุณสำหรับรายการนี้ ฉันหาเอกสารสำหรับ api.facebook.com/method/links.getStats API ปลายทางไม่ได้ ใช้งานได้จริง แต่ฉันต้องการให้แน่ใจว่าไม่ใช่ส่วนหนึ่งของเวอร์ชัน API ที่จะเลิกใช้ในไม่ช้า นอกจากนี้ยังเป็นเรื่องแปลกที่สิ่งนี้สามารถใช้งานได้โดยไม่ต้องมีการตรวจสอบสิทธิ์ ... คุณเห็นอะไรเกี่ยวกับสิ่งนี้ในเอกสารประกอบของ Facebook หรือไม่? มันไม่ได้เป็นส่วนหนึ่งของกราฟ API ...
Aprabojad

10
ลิงก์ Facebook ไม่ทำงานอีกต่อไป ใช้graph.facebook.com/?id=http://www.google.com
MarkOverride

8
@MarkOverride รุ่นมากยิ่งขึ้นการเพิ่มประสิทธิภาพ (แบนด์วิดธ์น้อย) เป็นgraph.facebook.com/?fields=share&id=http://www.google.com ปัญหาคือจุดสิ้นสุดใหม่เหล่านี้มีอัตรา จำกัด อย่างรุนแรงและเป็นเรื่องยากมากที่จะใช้ในการผลิตโดยไม่ต้องเผชิญกับข้อ จำกัด ดังกล่าว หากใครมีวิธีอื่นที่จะทำโปรดแจ้งให้เราทราบ
njy

200

อัปเดต - เมษายน 15:

หากคุณต้องการรับจำนวนที่มีอยู่ในปุ่มถูกใจคุณควรใช้engagementฟิลด์ในog_objectวัตถุดังนี้:

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

ผลลัพธ์:

{
  "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/"
}

เป็นไปได้ด้วย Graph API เพียงใช้:

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

สิ่งที่ต้องการ:

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

จะกลับมา:

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

UPDATE:ในขณะที่ข้างต้นจะตอบวิธีรับจำนวนหุ้น หมายเลขนี้ไม่เท่ากับหมายเลขที่คุณเห็นบนปุ่มถูกใจเนื่องจากหมายเลขนั้นคือผลรวมของ:

  • จำนวนไลค์ของ URL นี้
  • จำนวนการแชร์ URL นี้ (รวมถึงการคัดลอก / วางลิงค์กลับสู่ Facebook)
  • จำนวนไลค์และความคิดเห็นเกี่ยวกับเรื่องราวบน Facebook เกี่ยวกับ URL นี้
  • จำนวนข้อความกล่องจดหมายที่มี URL นี้เป็นไฟล์แนบ

ดังนั้นการรับหมายเลข Like Button จึงเป็นไปได้ด้วย Graph API ผ่านfqlจุดสิ้นสุด ( link_statตาราง):

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 คือหมายเลขที่แสดงในปุ่มถูกใจ


ฉันไม่ได้รับการนับส่วนแบ่งสำหรับวัตถุบางอย่าง ฉันรู้ว่าพวกเขาควรมีอย่างน้อยหนึ่งหุ้น
Jan Deinhard

1
@Fair ใช่บางครั้งตัวเลขไม่ถูกต้องและมันค่อนข้างสับสน คุณอาจใช้ตาราง fql ที่แนะนำโดยคำตอบอื่น ๆ แต่ก็ยัง ... บางครั้งตัวเลขก็ไม่ถูกต้องเช่นกัน!
ifaour

เป็นไปได้หรือไม่ที่จะแบ่งปันบางเว็บไซต์
Aziz

@ Aziz คุณหมายถึงอะไร
ifaour

3
ในฐานะที่เป็นv2.6 docไม่ได้ให้คุณได้รับshare_count, like_countและcomment_countมันก็ดูเหมือนfqlและ REST API ยังคงมีตัวเลือกที่ดีที่สุด ... แต่ทั้งสองfqlและส่วนที่เหลือ API จะไม่สามารถใช้ได้หลังจาก 7 สิงหาคม 2016! ข้อเสนอแนะใด ๆ
Daniel García Baena

21

คุณไม่ควรใช้กราฟ API หากคุณโทร:

หรือ

ทั้งสองจะกลับมา:

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

แต่จำนวนที่แสดงคือผลรวมของ :

  • จำนวนไลค์ของ URL นี้
  • จำนวนการแชร์ URL นี้ (รวมถึงการคัดลอก / วางลิงค์กลับสู่ Facebook)
  • จำนวนไลค์และความคิดเห็นเกี่ยวกับเรื่องราวบน Facebook เกี่ยวกับ URL นี้
  • จำนวนข้อความในกล่องจดหมายที่มี URL นี้เป็นไฟล์แนบ

ดังนั้นคุณต้องใช้ FQL
ดูคำตอบนี้: วิธีการดึง facebook, แชร์, ความคิดเห็นนับจากบทความอย่างไร


คุณถูกต้องอย่างแน่นอนโดย total_shares คือผลรวมของความคิดเห็น + ไลค์ + แชร์ แต่หน้าเว็บที่ฉันร้องขอแสดงให้เห็น Shares_i_have = total_shares + ไลค์
Aziz

14

หลังจากวันที่ 7 สิงหาคม 2016 คุณยังสามารถโทรได้ตามนี้:

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

แต่รูปแบบการตอบกลับจะแตกต่างกัน: มันจะไม่เป็นเช่นนั้น

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

แต่มันจะเป็น

{
   "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"
}

ดังนั้นคุณจะต้องประมวลผลการตอบสนองเช่นนี้:

reponse_variable.share.share_count

1
แต่มูลค่า share_count ทำให้เข้าใจผิดเนื่องจากเป็นการอ้างถึงจำนวนไลค์ + การแชร์
Alon Bilu

ฉันเดาว่าคุณพูดถูกแล้วคำตอบของฉันเป็นเพียงการอัปเดตวิธีเรียก API ฉันคิดว่า @freedev ที่พูดเกี่ยวกับจำนวนหุ้นอาจยังคงถูกต้อง
Giorgio Tempesta

8

สิ่งที่ฉันพบว่ามีประโยชน์และฉันพบในลิงก์เดียวด้านบนนี้คือข้อความค้นหา FQL ที่คุณขอกดถูกใจรวมแบ่งปันและคลิกนับหนึ่งลิงก์โดยดูที่ตาราง 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

ที่จะส่งออกสิ่งนี้:

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

2
ตั้งแต่วันที่ 8 สิงหาคม 2559 FQL จะไม่สามารถใช้งานได้อีกต่อไปและไม่สามารถสอบถามได้ หากต้องการย้ายแอพของคุณให้ใช้เครื่องมืออัปเกรด API เพื่อดูกราฟการโทร API ที่คุณสามารถทำได้
เหงียนมินห์บินห์

7

ตรวจสอบส่วนสำคัญนี้ มีตัวอย่างข้อมูลวิธีรับจำนวนการแชร์สำหรับบริการต่อไปนี้:

  • Facebook
  • พูดเบาและรวดเร็ว
  • Google plus
  • Pinterest
  • LinkedIn
  • StumbledUpon

นี่คือไม่กี่ปี ด้วยการที่แต่ละบริการอัพเดต API ของพวกเขาบ่อยครั้งฉันสงสัยว่ามันแม่นยำมาก
subvertallchris

4

ปุ่ม facebook like ทำสองสิ่งที่ API ไม่ได้ทำ สิ่งนี้อาจสร้างความสับสนเมื่อคุณเปรียบเทียบทั้งสอง

  1. หาก URL ที่คุณใช้ในปุ่ม Like มีการเปลี่ยนเส้นทางปุ่มจะแสดงจำนวนจริง ๆ ของการเปลี่ยนเส้นทางเมื่อเทียบกับจำนวน URL ที่คุณกำลังใช้งาน

  2. หากหน้านั้นมีคุณสมบัติ og: url ปุ่ม like จะแสดงรายการที่ชอบของ URL นั้นแทน url ในเบราว์เซอร์

หวังว่านี่จะช่วยใครซักคน



1

เมื่อฉันใช้ FQL ฉันพบปัญหา (แต่ยังคงเป็นปัญหาอยู่) เอกสารระบุว่าหมายเลขที่แสดงคือผลรวมของ:

  • จำนวนไลค์ของ URL นี้
  • จำนวนการแชร์ URL นี้ (รวมถึงการคัดลอก / วางลิงค์กลับสู่ Facebook)
  • จำนวนไลค์และความคิดเห็นเกี่ยวกับเรื่องราวบน Facebook เกี่ยวกับ URL นี้
  • จำนวนข้อความในกล่องจดหมายที่มี URL นี้เป็นไฟล์แนบ

แต่ในเว็บไซต์ของฉันตัวเลขที่แสดงคือผลรวมของ 4 จำนวน + จำนวนหุ้น (อีกครั้ง)


1

การใช้ FQL คุณสามารถทำได้:

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

1

มีอัญมณีทับทิมอยู่ - SocialShares

ปัจจุบันรองรับเครือข่ายสังคมออนไลน์ดังต่อไปนี้:

  • Facebook
  • พูดเบาและรวดเร็ว
  • google plus
  • Reddit
  • LinkedIn
  • Pinterest
  • stumbleupon
  • vkontakte
  • mail.ru
  • Odnoklassniki

การใช้งาน:

: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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.