Social Network APIs: พอร์ทัลอินเทอร์เน็ตสู่โลกแห่งความจริง

เผยแพร่แล้ว: 2022-03-11

API เครือข่ายสังคมมาไกลตั้งแต่ Google เปิดตัว YouTube API เวอร์ชันแรกในเดือนพฤษภาคม 2008 และ Facebook เปิดตัว Graph API เวอร์ชันแรกในเดือนเมษายน 2010 วันนี้ API เหล่านี้เปิดโอกาสให้คุณค้นหาโพสต์บนแพลตฟอร์มโซเชียลเน็ตเวิร์ก ผู้ใช้ ช่องทาง และข้อมูลประชากร พวกเขายังให้คุณสร้างบริการของคุณเองหรือค้นหาข้อมูลเพิ่มเติมเกี่ยวกับฐานผู้ใช้ของคุณ

ในบทความนี้ เราจะตรวจสอบวิธีที่เราสามารถใช้ API ของโซเชียลเน็ตเวิร์กยอดนิยมได้:

  • Facebook (กราฟและ API การตลาด)
  • อินสตาแกรม
  • ทวิตเตอร์
  • YouTube
  • Pinterest

เราจะหารือเกี่ยวกับข้อจำกัดของพวกเขา และสำรวจเครื่องมือที่มีประโยชน์บางอย่างที่พร้อมใช้งานกับ API เหล่านี้ ในบทความต่อไป เราจะมาดูวิธีผสานรวม API เหล่านี้ในแอปพลิเคชัน Rails

Social Network APIs: พอร์ทัลอินเทอร์เน็ตสู่โลกแห่งความจริง

ใช้ API เครือข่ายโซเชียลเพื่อทำความรู้จักผู้ใช้ของคุณดีกว่าที่พวกเขารู้จักตัวเอง
ทวีต

ฉันจะเน้นไปที่ API เครือข่ายโซเชียลทีละตัวและอธิบายความสามารถ ข้อจำกัด และเครื่องมือที่มีอยู่ จะมีเมทริกซ์ที่มี API ต่างๆ และคุณสมบัติต่างๆ เพื่อการเปรียบเทียบที่ดีขึ้นในบทความนี้

ในการใช้ API คุณจะต้องตั้งค่าแอปที่สร้างการสืบค้นในนามของแอปพลิเคชันด้วยคำขอตาม OAuth ก่อน ผู้ใช้จะตรวจสอบสิทธิ์กับแอปของคุณ จากนั้นคุณสามารถเข้าถึงข้อมูลของพวกเขาได้ด้วยโทเค็นการเข้าถึงของผู้ใช้

เฟสบุ๊ค

FQL ที่ล้าสมัย (Facebook Query Language) ที่เคยเป็นภาษาคิวรีแบบ SQL ที่สามารถใช้เข้าถึงข้อมูลทั้งหมดจาก Facebook ได้

Facebook เปิดตัว Graph API รุ่นแรกในเดือนเมษายน 2010 เวอร์ชันล่าสุดในขณะที่เขียนบทความนี้คือ 2.6 ซึ่งเปิดตัวเมื่อวันที่ 12 เมษายน 2016 เป็น API ที่ใช้ HTTP ระดับต่ำที่สามารถใช้ในการสืบค้น ข้อมูล สร้างโพสต์ หรือแม้แต่สร้างแคมเปญโฆษณาอัตโนมัติ

เครื่องมือ

Graph API Explorer เป็นเครื่องมือที่ใช้บ่อยที่สุดเมื่อทำงานกับ Facebook API ช่วยให้คุณเรียกใช้การสืบค้น Graph API ในเบราว์เซอร์และตรวจสอบผลลัพธ์: คุณสามารถใช้โทเค็นเพื่อการเข้าถึงของแอปหรือสร้างโทเค็นได้ทันทีด้วยขอบเขตที่เลือก

ความสามารถ

Graph API เป็น API แบบ REST ที่ให้คุณสร้าง อัปเดต และลบอ็อบเจ็กต์ตามคำขอ HTTP บนโหนดบางโหนด

โทเค็นการเข้าถึง

หากต้องการเรียกใช้การสืบค้นกับ Graph API คุณต้องมีโทเค็นการเข้าถึงที่ได้รับทันทีที่ผู้ใช้อนุญาตในแอปของคุณสำเร็จ แอปพลิเคชันของคุณควรจัดเก็บโทเค็นการเข้าถึง

ขอบเขต

ขอบเขตกำหนดการกระทำที่สามารถทำได้ในนามของผู้ใช้ แอปพลิเคชันขอขอบเขตบางอย่างเมื่อผู้ใช้อนุญาตในแอป ตัวอย่างเช่น ขอบเขต publish_actions อนุญาตให้แอปเผยแพร่โพสต์ในนามของผู้ใช้ ขอบเขตอีเมลช่วยให้แอปอ่านอีเมลของผู้ใช้ได้ ภาพรวมทั้งหมดของขอบเขตทั้งหมดอยู่ในเอกสารอย่างเป็นทางการ

ขอบเขตบางอย่าง เช่น publish_actions หรือ ads_management จำเป็นต้องมีการตรวจสอบโดย Facebook ก่อนปล่อยแอพ

ตัวอย่าง

เพื่อสาธิตวิธีการทำงานของ Graph API ฉันจะแสดงวิธีอ่าน สร้าง อัปเดต และลบโพสต์ด้วย API

หากต้องการรับโพสต์ของคุณเอง คุณสามารถดำเนินการค้นหา GET /me/posts ได้ ผลลัพธ์จะเป็นสตริง JSON ที่มีรายการโพสต์ รวมถึงข้อความ, created_time และ id คุณสามารถใช้พารามิเตอร์ pretty หรือตัวจัดรูปแบบ JSON เพื่อทำให้การตอบสนองดูรกน้อยลง

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับโพสต์ของคุณ คุณสามารถขยายคิวรีด้วยฟิลด์ต่างๆ เป็นพารามิเตอร์คิวรี ตัวอย่างเช่น แบบสอบถาม me/posts?fields=reactions, picture จะให้รูปภาพและปฏิกิริยาของโพสต์กับคุณ

ในการสร้างโพสต์ คุณสามารถส่งการดำเนินการ POST กับ edge feed เช่น me/feed ด้วยพารามิเตอร์ เช่น message: hello world Graph API จะส่งคืนวัตถุ JSON พร้อม ID ของโพสต์ที่คุณสร้างขึ้น จากนั้นสามารถดูโพสต์ได้ตามที่อยู่ http://facebook.com/[post_id]

ในการอัปเดตโพสต์ คุณสามารถส่งคำขอ POST ไปยังโหนดของโพสต์พร้อมช่องที่จะอัปเดตเป็นพารามิเตอร์ เช่น /[post_id] และ params เช่น Message: lorem ipsum ตัวบ่งชี้ความสำเร็จที่มีค่าจริงหรือเท็จจะถูกส่งคืน

หากต้องการลบโพสต์ คุณสามารถส่งคำขอ DELETE ไปยังโหนดด้วย ID ของโพสต์ (เช่น /[post_id] ) ค่าที่ส่งคืนจะเป็นอ็อบเจ็กต์ JSON ที่มีค่าความสำเร็จเป็นจริงหรือเท็จ

ภาพรวมทั้งหมดเกี่ยวกับโหนดและการดำเนินการทั้งหมดมีอยู่ในข้อมูลอ้างอิง API ของกราฟ

API การตลาด

API การตลาดสมควรได้รับการกล่าวถึงเป็นพิเศษเพราะเป็นเครื่องมือที่มีประสิทธิภาพในการจัดการโฆษณาบน Facebook และรับข้อมูลเชิงลึกของโฆษณาผ่านแอปพลิเคชันของคุณ

มันทำงานในลักษณะเดียวกับวิธี Graph API อื่นๆ อย่างไรก็ตาม คุณต้องมีขอบเขต ads_management เพื่อเข้าถึงโฆษณาของผู้ใช้ Facebook ยังต้องตรวจสอบแอพของคุณก่อน คุณจึงจะเผยแพร่ได้

การทดสอบ

เมื่อคุณสร้างแอปแล้ว แอปจะอยู่ในโหมดการพัฒนาและมองเห็นได้โดยอัตโนมัติในแดชบอร์ดของแอป (เช่น https://developers.facebook.com/apps/ )

ในโหมดการพัฒนา เฉพาะผู้ดูแลระบบ ผู้พัฒนา และผู้ทดสอบเท่านั้นที่สามารถเข้าถึงแอปของคุณได้ คุณเพิ่มผู้ทดสอบและผู้ดูแลระบบได้ในส่วนบทบาทของแดชบอร์ดแอป

กระบวนการตรวจสอบ

เมื่อเพิ่มการอนุญาตบางอย่าง Facebook จำเป็นต้องตรวจสอบแอปของคุณก่อน คุณจึงจะเผยแพร่ได้ กระบวนการตรวจสอบถูกกำหนดโดยแนวทางชุดนี้

หากต้องการส่งบางรายการเข้ารับการตรวจสอบ คุณสามารถเพิ่มได้ในส่วนการตรวจสอบแอปของแดชบอร์ดแอป จากนั้น Facebook จะแนะนำคุณตลอดกระบวนการตรวจสอบ และคุณจะได้รับการแจ้งเตือนเมื่อแอปของคุณได้รับการอนุมัติ

ข้อจำกัดและวิธีแก้ปัญหา

ขีด จำกัด อัตรา

แอปหนึ่งสามารถโทรได้รวม 200 ครั้งต่อชั่วโมงต่อผู้ใช้หนึ่งราย หากคุณถึงขีดจำกัดนั้น การเรียก API ของคุณจะส่งผลให้เกิดข้อผิดพลาด

ค้นหาโพสต์บน Facebook

Facebook จำกัดการค้นหาโพสต์และแท็กบน Facebook ผ่าน Graph API และ FQL อย่างไรก็ตาม คุณสามารถใช้ Google Search API เพื่อค้นหาโพสต์ Facebook สาธารณะ จากนั้นใช้ post-id ใน URL เพื่อดึงข้อมูลเพิ่มเติมเกี่ยวกับโพสต์เฉพาะผ่าน Graph API

การรับข้อมูลกลุ่มเป้าหมายที่กำหนดเอง

ข้อมูลเชิงลึกของผู้ชม บน Facebook เป็นเครื่องมือวิจัยที่มีประสิทธิภาพเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับกลุ่มเป้าหมายเฉพาะตามความสนใจ ข้อมูลประชากร หรือแอตทริบิวต์อื่นๆ (เช่น คอลเลกชั่นที่อยู่อีเมล)

อย่างไรก็ตาม ฉันยังไม่พบวิธีสร้างข้อมูลเชิงลึกของผู้ชมโดยอัตโนมัติผ่าน API โฆษณา แจ้งให้เราทราบในความคิดเห็นหากคุณมีแนวคิดหรือข้อเสนอแนะที่สร้างสรรค์สำหรับสิ่งนี้

อินสตาแกรม

ภาพประกอบ Instagram API

Instagram API เปิดตัวครั้งแรกในเดือนเมษายน 2014 และให้คุณสร้างแอพที่วิเคราะห์โพสต์ของผู้ใช้และช่วยเหลือผู้ใช้ในการจัดการโพสต์ของตนเอง

เครื่องมือ

เนื่องจากคอนโซล API ของ Instagram เลิกใช้งานแล้ว ณ เวลาที่บทความนี้ ฉันจึงแนะนำให้ใช้ Apigee เพื่อการทดสอบในเบราว์เซอร์ของคุณ

ความสามารถ

Instagram API เป็น API แบบ REST ปลายทางทั้งหมดมีอธิบายไว้ในเอกสารอย่างเป็นทางการ

โทเค็นการเข้าถึง

ในการเรียกใช้แบบสอบถามกับ Instagram API คุณต้องมีโทเค็นการเข้าถึงที่ได้รับทันทีที่ผู้ใช้อนุญาตในแอปของคุณ เพื่อให้ผู้ใช้ได้รับโทเค็นการเข้าถึง ผู้ใช้จะต้องถูกนำไปยัง URL การให้สิทธิ์ของแอปของคุณ เซิร์ฟเวอร์จะเปลี่ยนเส้นทางผู้ใช้หลังจากให้สิทธิ์แอปของคุณ จากนั้นคุณจะสามารถอ่านโทเค็นได้

ขอบเขต

แอปของคุณสามารถขอสิทธิ์ต่างๆ ได้ ตัวอย่างเช่น "พื้นฐาน" จำกัดคุณให้อ่านข้อมูลโปรไฟล์และสื่อของผู้ใช้ “public_content” ให้คุณอ่านโปรไฟล์สาธารณะและสื่อในนามของผู้ใช้

ตัวอย่าง

เพื่อแสดงให้เห็นว่า Instagram API ทำงานอย่างไร ฉันจะยกตัวอย่างตามปลายทางสื่อ https://api.instagram.com/v1/media/popular

ปลายทางนี้จะส่งคืนสื่อที่ได้รับความนิยมในปัจจุบันจาก Instagram หากส่งผ่านโทเค็นการเข้าถึงเป็นพารามิเตอร์ ผลลัพธ์จะเป็นอาร์เรย์ JSON ของโพสต์ที่มี ID สื่อ ลิงก์ไปยังรูปภาพ การชอบ ความคิดเห็น ผู้ใช้ที่โพสต์ และแอตทริบิวต์อื่นๆ สำหรับแต่ละโพสต์

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

การทดสอบ

ทุกแอพใหม่ที่สร้างขึ้นบนแพลตฟอร์ม Instagram จะเริ่มในโหมดแซนด์บ็อกซ์ นี่คือสภาพแวดล้อมการทำงานเต็มรูปแบบที่ให้คุณทดสอบจุดปลาย API ที่เผยแพร่ต่อสาธารณะได้ก่อนที่คุณจะส่งแอปของคุณเข้ารับการตรวจสอบ

หากต้องการทดสอบแอปของคุณ เพียงสร้างเวอร์ชันทดลองใช้งานและเรียกใช้การสืบค้นข้อมูลทั้งหมดผ่านเวอร์ชันนั้น แทนที่จะเป็นเวอร์ชันที่ใช้งานจริงที่ผ่านการตรวจสอบ

กระบวนการตรวจสอบ

แอปในโหมดแซนด์บ็อกซ์สามารถใช้ปลายทาง API ใดก็ได้ แต่จำกัดผู้ใช้และสื่อในจำนวนที่จำกัด เป็นกลไกที่ยอดเยี่ยมในการพัฒนาและทดสอบแอป

หากต้องการถ่ายทอดสดและเข้าถึงเนื้อหา Instagram ทั้งหมด คุณจะต้องส่งใบสมัครเข้ารับการตรวจสอบ เมื่อตรวจสอบแล้ว คุณจะขอขอบเขตได้เฉพาะผู้ใช้ที่แอปของคุณได้รับการอนุมัติเท่านั้น

ข้อจำกัดและวิธีแก้ปัญหา

การวิเคราะห์ทางประชากร

ในขณะที่เขียนบทความนี้ ไม่มีวิธีรับข้อมูลเกี่ยวกับอายุ เพศ หรือความสนใจของผู้ใช้ที่เป็นสาธารณะ เนื่องจาก Instagram ไม่ได้ให้ข้อมูลนั้นแก่คุณ

เพื่อให้ได้ข้อมูลประชากรเกี่ยวกับผู้ติดตามหรือรายชื่อผู้ใช้ Instagram คุณจะต้องทำซ้ำทั้งหมดและพยายามกำหนดอายุและเพศหรือความสนใจตามผู้ติดตามหรือข้อมูลที่ให้ไว้ในประวัติ

โซลูชันบิ๊กดาต้าที่ดีสำหรับปัญหานี้อาจเป็นบริการที่มีคุณค่าสำหรับบางบริษัท

ขีด จำกัด อัตรา

ขีดจำกัดอัตราทั้งหมดบนแพลตฟอร์ม Instagram ถูกควบคุมโดยโทเค็นการเข้าถึงในหน้าต่างเลื่อน 1 ชั่วโมง แอปสดมีขีดจำกัดอัตราที่สูงกว่าแอปในโหมดแซนด์บ็อกซ์ ขีด จำกัด อัตราทั่วโลกสำหรับแอพถ่ายทอดสดในปัจจุบันคือ 5,000 สายต่อชั่วโมง

ทวิตเตอร์

Twitter API เปิดตัวครั้งแรกในเดือนกันยายน 2549 เป็น REST API สาธารณะที่ให้สิทธิ์การอ่านและเขียนข้อมูล Twitter การตรวจสอบสิทธิ์จะดำเนินการโดยใช้ OAuth คำตอบอยู่ในรูปแบบ JSON

เครื่องมือ

Twitter มีเครื่องมือคอนโซล API ที่ขับเคลื่อนโดย Apigee ที่สามารถใช้ในการทดสอบคำขอในเบราว์เซอร์

ความสามารถ

REST API ให้คุณรับทวีต ผู้ติดตาม และผู้ติดตามของผู้ใช้ คุณยังค้นหาแฮชแท็กในทวีตอื่นๆ ได้อีกด้วย

โทเค็นการเข้าถึง

Twitter ให้คุณสร้างแอพที่ผู้ใช้สามารถตรวจสอบสิทธิ์เพื่อแลกกับโทเค็นการเข้าถึง โมเดลการตรวจสอบสิทธิ์คือ OAuth

ขอบเขต

มีเพียงสองสิทธิ์ที่ต้องตั้งค่าในหน้าการตั้งค่าของแอพ: อ่านอย่างเดียว และ อ่านและเขียน หลังช่วยให้คุณสร้างทวีตและดำเนินการโพสต์อื่น ๆ ในนามของผู้ใช้

ตัวอย่าง

เพื่อสาธิตการใช้งาน Twitter API ฉันจะดึงทวีตของผู้ใช้ที่ได้รับอนุญาต ผลลัพธ์คืออาร์เรย์ JSON ที่มีรูปภาพของทวีต รายการโปรด รีทวีต URL วันที่สร้าง และแอตทริบิวต์อื่นๆ ของทวีต ใช้ Apigee เพื่อสำรวจและเรียนรู้เพิ่มเติมเกี่ยวกับตำแหน่งข้อมูล API และพารามิเตอร์

ขั้นตอนการทดสอบและทบทวน

ขณะนี้ยังไม่มีกระบวนการตรวจสอบหรือโหมดทดสอบสำหรับ Twitter API

ข้อจำกัดและวิธีแก้ปัญหา

การวิเคราะห์ทางประชากร

ขณะนี้ยังไม่มีวิธีง่ายๆ ในการรับข้อมูลประชากรจากผู้ติดตาม Twitter ของใครบางคน วิธีการบังคับเดรัจฉานคือการเรียกดูผู้ติดตามแต่ละคนและพยายามรับข้อมูลผ่านบัญชีเครือข่ายโซเชียลและประวัติที่เชื่อมโยง

จากนั้นคุณสามารถตั้งสมมติฐานเพิ่มเติมตามข้อมูลผู้ติดตามที่รวบรวมผ่านการวิเคราะห์ข้อมูล อีกวิธีในการรับข้อมูลเชิงลึกเพิ่มเติมคือผ่าน GNIP แพลตฟอร์ม API องค์กรแบบชำระเงินของ Twitter เหนือสิ่งอื่นใด มันช่วยให้คุณสร้างผู้ชมและรับข้อมูลเกี่ยวกับสิ่งเหล่านั้นผ่าน API ขณะนี้ API อยู่ในรุ่นเบต้า

ขีด จำกัด อัตรา

Twitter มีการจำกัดอัตราสำหรับแต่ละผู้ใช้และ 15 นาที หากแอปพลิเคชันของคุณมีหลายโทเค็น คุณสามารถเปลี่ยนโทเค็นสำหรับการดำเนินการสาธารณะเพื่อหลีกเลี่ยงการใช้โทเค็นถึงขีดจำกัด

YouTube

ภาพประกอบ YouTube API

YouTube Data API เปิดตัวครั้งแรกในเดือนมกราคม 2013 ช่วยให้คุณสามารถเพิ่มคุณลักษณะของ YouTube ลงในแอปพลิเคชันของคุณ ค้นหาเนื้อหา และวิเคราะห์ข้อมูลประชากรของช่อง YouTube เป็น OAuth ซึ่งเป็น REST API ที่ใช้โทเค็นซึ่งส่งคืนการตอบกลับ JSON

เครื่องมือ

API Explorer ให้คุณทดสอบคำขอที่ไม่ได้รับอนุญาตและได้รับอนุญาต คุณสามารถเรียกใช้คำขอจากเบราว์เซอร์ของคุณกับปลายทางที่ให้มา

ความสามารถ

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

โทเค็นการเข้าถึง

API ข้อมูลของ YouTube รองรับโปรโตคอล OAuth 2.0 สำหรับการอนุญาตการเข้าถึงข้อมูลส่วนตัวของผู้ใช้ เมื่อผู้ใช้ได้รับอนุญาตในแอปพลิเคชันของคุณแล้ว พวกเขาจะถูกเปลี่ยนเส้นทางไปยังแอปพลิเคชันของคุณซึ่งควรบันทึกโทเค็นการเข้าถึง

ในการใช้การให้สิทธิ์ OAuth 2.0 ก่อนอื่นคุณต้องได้รับข้อมูลรับรองการให้สิทธิ์ในคอนโซลนักพัฒนาซอฟต์แวร์ของ Google

ขอบเขต

ปัจจุบัน YouTube Data API รองรับขอบเขตต่อไปนี้:

  • บังคับใช้ SSL - จัดการบัญชี YouTube ของคุณ แต่ผ่านการเชื่อมต่อ SSL เท่านั้น
  • ค่าเริ่มต้น - จัดการบัญชี YouTube ของคุณ ขอบเขตนี้ใช้งานได้เหมือนกับขอบเขต youtube.force-ssl แต่ไม่ต้องการการเชื่อมต่อ SSL
  • อ่านอย่างเดียว - ดูบัญชี YouTube ของคุณ
  • อัปโหลด - อัปโหลดวิดีโอ YouTube และจัดการวิดีโอ YouTube ของคุณ
  • การตรวจสอบช่องพันธมิตร - ดึงข้อมูลที่เครือข่ายหลายช่องใช้เป็นเกณฑ์ในการยอมรับหรือปฏิเสธช่องในเครือข่ายของตน

ตัวอย่าง

ตัวอย่างการใช้งาน Youtube Data API คำขอต่อไปนี้จะค้นหาวิดีโอที่มี "การเข้ารหัส" ในชื่อและคำอธิบาย:

 https://www.googleapis.com/youtube/v3/search?part=snippet&q=coding&key={YOUR_API_KEY}

ผลลัพธ์คือออบเจ็กต์ JSON ที่มีชื่อ คำอธิบาย videoId และ channelId คุณสามารถใช้อันหลังเพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับช่อง

พารามิเตอร์ part จำเป็นสำหรับคำขอ API ใดๆ ที่ส่งคืนทรัพยากรบางอย่าง พารามิเตอร์ระบุคุณสมบัติของทรัพยากรที่ควรรวมอยู่ในการตอบสนอง API ตัวอย่างเช่น ทรัพยากรวิดีโอมีส่วนต่างๆ ต่อไปนี้: ตัวอย่าง, contentDetails, fileDetails, เครื่องเล่น, รายละเอียดการประมวลผล, บันทึกรายละเอียด, สถิติ, สถานะ, คำแนะนำ, รายละเอียดหัวข้อ

พารามิเตอร์อื่นๆ ทั้งหมด ยกเว้นคีย์ API จะแตกต่างกันไปตามการโทร อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ในคู่มืออ้างอิง API

Pinterest

Pinterest API เปิดตัวครั้งแรกในเดือนเมษายน 2015 เป็น RESTful API ที่ให้การเข้าถึงข้อมูล Pinterest ของผู้ใช้ เช่น บอร์ด หมุด ผู้ติดตาม และอื่นๆ Pinterest API ใช้ OAuth และอนุญาตให้ทั้งอ่านและเขียนสิทธิ์เมื่อโต้ตอบกับเนื้อหาของผู้ใช้

เครื่องมือ

เช่นเดียวกับคนอื่นๆ Pinterest มี API Explorer เพื่อทดสอบปลายทางและเรียกใช้การสืบค้นข้อมูลกับพวกเขา คุณสามารถดูเครื่องมือทั้งหมดของพวกเขาได้ที่นี่

ความสามารถ

Pinterest REST API ช่วยให้คุณสร้างพิน บอร์ด และสืบค้นข้อมูล Pinterest ด้วย OAuth

โทเค็นการเข้าถึง

Pinterest ใช้ OAuth 2.0 เพื่อตรวจสอบสิทธิ์คำขอระหว่างแอปและผู้ใช้ของคุณ คำขอทั้งหมดต้องทำผ่าน HTTPS

ขอบเขต

ขอบเขตกำหนดสิ่งที่แอปสามารถทำได้ในนามของผู้ใช้ Pinterest ใช้ขอบเขตต่อไปนี้:

  • none (ต้องทราบตัวระบุ): ใช้เมธอด GET ในรายละเอียดโปรไฟล์ บอร์ดและพินของผู้ใช้ และพินบนบอร์ด
  • read_public : ใช้วิธีการ GET บนพิน บอร์ด และการถูกใจของผู้ใช้
  • write_public : ใช้วิธีการ PATCH, POST และ DELETE บนพินและบอร์ดของผู้ใช้
  • read_relationships : ใช้วิธีการ GET สำหรับการติดตามและผู้ติดตามของผู้ใช้ (บนกระดาน ผู้ใช้ และความสนใจ)
  • write_relationships : ใช้วิธีการ PATCH, POST และ DELETE ในการติดตามและผู้ติดตามของผู้ใช้ (บนกระดาน ผู้ใช้ และความสนใจ)

ตัวอย่าง

เพื่อสาธิตการใช้ Pinterest API ฉันจะสาธิตวิธีอ่านพินล่าสุดของผู้ใช้:

https://api.pinterest.com/v1/me/pins/?access_token={your_token}&fields=id,link,note,url,counts,board,created_at จะส่งคืนหมุดของผู้ใช้พร้อมรหัส ลิงก์ หมายเหตุ url, ไลค์, และ repins

ขั้นตอนการทดสอบและทบทวน

แอปอยู่ในโหมดการพัฒนาในขั้นต้นและต้องส่งเพื่อตรวจสอบก่อนที่จะเผยแพร่ในโหมดใช้งานจริง

ข้อจำกัดและวิธีแก้ปัญหา

การวิเคราะห์ทางประชากร

ไม่มีวิธีทั่วไปในการรับข้อมูลประชากรจากบอร์ด อย่างไรก็ตาม คุณสามารถลองรับผู้ติดตามบอร์ดและข้อมูลเกี่ยวกับพวกเขาจากประวัติและลิงก์ไปยังบัญชีโซเชียลเน็ตเวิร์กอื่นๆ โซลูชันข้อมูลขนาดใหญ่บนการเชื่อมต่อทั่วไปของผู้ใช้ก็มีความเป็นไปได้เช่นกัน

ค้นหาพิน

ขณะนี้ยังไม่มีวิธีค้นหาพินที่มีแท็กหรือคีย์เวิร์ดบางอย่างผ่าน API คุณสามารถข้ามข้อจำกัดนั้นได้โดยใช้ Google Custom Search API เพื่อค้นหาผลลัพธ์บนพิน Pinterest เท่านั้น และรวบรวมรหัสพินผ่าน URL จากนั้น ID สามารถใช้เพื่อรับข้อมูลเกี่ยวกับพินผ่าน API

ขีด จำกัด อัตรา

แต่ละแอป (ที่มี ID แอปที่ไม่ซ้ำกัน) สามารถโทรได้ 1,000 ครั้งต่อจุดปลายทางต่อชั่วโมงสำหรับโทเค็นของผู้ใช้แต่ละราย

ทุกการตอบสนองของ API จะส่งคืนส่วนหัวที่ให้การอัปเดตเกี่ยวกับการจำกัดอัตรา X-Ratelimit-Limit คือขีดจำกัดอัตราสำหรับคำขอเฉพาะนั้น และ X-Ratelimit-Remaining คือจำนวนคำขอที่คุณเหลือในหน้าต่าง 60 นาที

หากคุณเกินขีดจำกัดอัตราสำหรับปลายทางที่กำหนด คุณจะได้รับรหัสข้อผิดพลาด 429 "คำขอมากเกินไป"

การเปรียบเทียบ Social Network APIs

เวอร์ชั่น OAuth รูปแบบ ข้อมูลประชากร
เฟสบุ๊ค v2.6
รุ่นแรก: เมษายน 2010
OAuth 2 คำขอ REST พร้อมการตอบสนอง JSON ได้รับการสนับสนุน
อินสตาแกรม v1
วางจำหน่ายครั้งแรก: เมษายน 2014
OAuth 2 คำขอ REST พร้อมการตอบสนอง JSON ไม่รองรับ
ทวิตเตอร์ v1.1
รุ่นแรก: กันยายน 2549
OAuth 1 คำขอ REST พร้อมการตอบสนอง JSON รองรับเฉพาะ GNIP
YouTube v3
วางจำหน่ายครั้งแรก: มกราคม 2013
OAuth 2 คำขอ REST พร้อมการตอบสนอง JSON ได้รับการสนับสนุน
Pinterest v1
วางจำหน่ายครั้งแรก: เมษายน 2015
OAuth 2 คำขอ REST พร้อมการตอบสนอง JSON ไม่รองรับ

แอปพลิเคชันสาธิตกับ Devise

การผสานรวม API เหล่านี้ในแอปพลิเคชันใหม่หรือที่มีอยู่ของคุณ ด้วยแพ็คเกจและไลบรารี API เครือข่ายโซเชียลมากมาย ทำได้ง่ายกว่าที่เคย แพลตฟอร์มและเฟรมเวิร์กที่ทันสมัยส่วนใหญ่มีไลบรารีของบุคคลที่สามที่ผ่านการทดสอบตามเวลา ซึ่งรวมเอาลักษณะการรับรองความถูกต้องของ API เหล่านี้ไว้ในไลบรารีเดียวด้วยสถาปัตยกรรมปลั๊กอินที่เรียบร้อย

ภาพประกอบ API เครือข่ายโซเชียล

สำหรับบทความนี้ เราจะมาดูกันว่า Devise ซึ่งเป็นอัญมณี Ruby ทำสิ่งนี้ให้สวยงามสำหรับแอปพลิเคชัน Rails ได้อย่างไร Devise เป็นไลบรารีการพิสูจน์ตัวตนที่ยืดหยุ่นตาม Warden ที่ใช้การรับรองความถูกต้อง การลงทะเบียน การเข้าสู่ระบบ และการจัดเก็บข้อมูลสำหรับผู้ให้บริการการเข้าสู่ระบบหลายราย หากคุณเป็นคนที่แต่งตัวประหลาดส่วนหน้ามากกว่าและต้องการตรวจสอบสิ่งที่คล้ายกันสำหรับ AngularJS ให้ดูที่บทความนี้

ประดิษฐ์ เช่นเดียวกับไลบรารีส่วนใหญ่ของคลาสนี้ ไม่ได้มาพร้อมกับการรองรับ API เครือข่ายโซเชียลที่กล่าวถึงข้างต้น การสนับสนุนสำหรับแต่ละ API เครือข่ายโซเชียลเหล่านี้มีให้ผ่านอัญมณีเพิ่มเติม Gem ต่อไปนี้มีให้สำหรับการรับรองความถูกต้องของ Rails ที่ครอบคลุมผู้ให้บริการ 5 รายที่กล่าวถึงในบทความนี้:

 gem 'omniauth-facebook' gem 'omniauth-pinterest' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' gem 'omniauth-instagram'
หนึ่งในสิ่งที่ดีที่สุดเกี่ยวกับ Rails คือมีปลั๊กอินมากมายที่เขียนโดยชุมชนโอเพ่นซอร์ส เหล่านี้แจกจ่ายเป็นอัญมณี อยู่ภายใต้ไฟล์คอนฟิกูเรชันกลาง เจมเหล่านี้ได้รับการจัดการโดย Bundler

เนื่องจากสิ่งเหล่านี้ให้การรับรองความถูกต้อง การลงทะเบียน การเข้าสู่ระบบ และการจัดเก็บสำหรับผู้ให้บริการแต่ละรายเท่านั้น เราจึงจำเป็นต้องได้รับอัญมณีต่อไปนี้สำหรับไคลเอนต์ API จริง:

 gem 'twitter' # https://github.com/sferik/twitter gem 'instagram' # https://github.com/facebookarchive/instagram-ruby-gem gem 'koala' # (Facebook API) https://github.com/arsduo/koala gem 'google-api-client' # (YouTube API), https://github.com/google/google-api-ruby-client gem 'pinterest-api' # https://github.com/realadeel/pinterest-api

Omniauth และการตรวจสอบสิทธิ์

เพื่อให้ผู้ใช้อนุญาตแอปของคุณกับผู้ให้บริการ คุณสามารถระบุลิงก์ที่มีเส้นทางต่อไปนี้:

 omniauth_authorize_path('user', :facebook) omniauth_authorize_path('user', :instagram) ...

เพื่อตอบสนองต่อการโทรกลับหลังจากตรวจสอบผู้ใช้ คุณสามารถกำหนด OmniauthCallbacksController ด้วยขอบเขตเป็นฟังก์ชันเช่น:

 class AuthenticationsController < Devise::OmniauthCallbacksController def facebook if request.env["omniauth.auth"] ... end end end

นั่นคือที่สำหรับเพิ่มโมเดลการตรวจสอบสิทธิ์ใหม่ด้วยโทเค็นและข้อมูลในแอปพลิเคชันของคุณ:

 authentication = where(provider: omniauth.provider, user_id: user.id) .first_or_create do |auth| auth.user = user auth.uid = omniauth.uid auth.secret = omniauth.credentials.secret auth.token = omniauth.credentials.token ... end

การโทร API

นี่คือตัวอย่างวิธีการใช้ Koala เพื่อสอบถาม Facebook API ผู้ให้บริการที่เหลือทำงานคล้ายกันไม่มากก็น้อยและได้รับการบันทึกไว้ใน README ของอัญมณี

นี่คือวิธีที่คุณได้รับข้อมูลผู้ใช้โดยใช้ Koala:

 authentication = user.authentication_for_provider(:facebook) token = authentication.token api = Koala::Facebook::API.new(token) results = api.get_object("me")

จากนั้นคุณสามารถใช้ผลลัพธ์ JSON ที่ส่งคืนโดย API ซอร์สโค้ดของแอปพลิเคชันเดโมนี้มีอยู่ใน GitHub

สรุป

API เครือข่ายโซเชียลมอบเครื่องมืออันทรงพลังให้คุณในการค้นหาชุดข้อมูลขนาดใหญ่ของเครือข่ายโซเชียลและรวบรวมข้อมูลขนาดใหญ่สำหรับแอปพลิเคชันของคุณ คุณสามารถสร้างบริการบน API เหล่านี้หรือใช้เพื่อปรับปรุงแอปพลิเคชันและข้อมูลเชิงลึกของผู้ใช้ของคุณเอง

Rails และ gem ที่มีอยู่ทำให้ง่ายต่อการรวม API เหล่านี้ในแอพ rails ของคุณและค้นหาอินเทอร์เฟซด้วยเลเยอร์ที่เป็นนามธรรมระหว่างแอพของคุณกับ API