ฟังก์ชั่น Facebook จากบรรทัดคำสั่ง
gem install facebook-cli
(อาจต้องใช้ sudo)
หากต้องการโต้ตอบกับ Facebook API คุณต้องสร้างและกำหนดค่าแอปพลิเคชัน Facebook สำหรับการใช้งานส่วนตัวของคุณ ปฏิบัติตามคำแนะนำเหล่านี้อย่างระมัดระวัง:
ไปที่ https://developers.facebook.com/apps และสร้างแอปใหม่ (สกรีนช็อต)
ตั้งค่าผลิตภัณฑ์ "เข้าสู่ระบบ Facebook" ใหม่
ไม่ต้องกังวลกับการเลือกแพลตฟอร์ม คลิก "การตั้งค่า" ใต้ "การเข้าสู่ระบบด้วย Facebook" ในแถบด้านข้างแทน
ใต้ "URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง" ให้เพิ่ม: https://localhost:3333/
(จำเป็นเพื่อรับรหัสรับรองความถูกต้องระหว่างการตรวจสอบสิทธิ์)
คลิก "บันทึกการเปลี่ยนแปลง"
ไปที่ "การตรวจสอบแอป" และเผยแพร่แอปของคุณต่อสาธารณะ
ไปที่ "การตั้งค่า"> "พื้นฐาน"
ใต้ "ความลับของแอป" คลิก "แสดง" เพื่อเปิดเผยความลับของแอปของคุณ
เปิดเทอร์มินัลแล้วบันทึก App ID และ App Secret ของคุณโดยเรียกใช้: (สกรีนช็อต)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
เมื่อกำหนดค่าแอพ Facebook แล้ว คุณต้องอนุญาตให้แอปเข้าถึงกราฟโซเชียลในนามของคุณ:
ในเทอร์มินัลให้รัน: facebook-cli login
(ภาพหน้าจอ)
(หากตรวจสอบความถูกต้องบนเครื่องระยะไกลหรือใช้พอร์ตอื่นเพื่อรับรหัสรับรองความถูกต้อง: facebook-cli login --host <hostname-or-ip> --port <port>
)
เปิด URL ที่ระบุในเว็บเบราว์เซอร์ และลงชื่อเข้าใช้บัญชี Facebook ของคุณหากได้รับแจ้ง
คลิก "ดำเนินการต่อ" เพื่ออนุมัติการอนุญาต (ภาพหน้าจอ)
เลือกขอบเขตผู้ชมของคุณสำหรับโพสต์ใด ๆ ที่คุณเผยแพร่โดยใช้แอปพลิเคชันนี้ (ภาพหน้าจอ) (อ่านเพิ่มเติม)
คลิก "ตกลง" เพื่อดำเนินการต่อ
หากคุณใช้ Firefox และได้รับข้อผิดพลาด SEC_ERROR_REUSED_ISSUER_AND_SERIAL
เพียงคัดลอก URL และเรียกใช้ curl -k <url>
ในเทอร์มินัล
ปิดแท็บเบราว์เซอร์ (ภาพหน้าจอ)
การเรียกใช้ facebook-cli
หรือ facebook-cli help
จะแสดงรายการคำสั่งที่ใช้ได้:
COMMANDS api - Make a direct Facebook API request config - Save your Facebook API credentials feed - List posts on your timeline help - Shows a list of commands or help for one command likes - List pages you have 'Liked' links - Some useful URLs login - Request Facebook permissions and receive an API access token logout - Deauthorize your access token me - Show your profile information photos - List photos you have uploaded photosof - List photos you are tagged in videos - List videos you have uploaded videosof - List videos you are tagged in
เรียกใช้ facebook-cli help <command>
เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับแต่ละคำสั่ง
ใช้ตัวเรนเดอร์ Markdown เพื่อแปลงเอาต์พุตเป็นเอกสาร HTML ได้อย่างง่ายดาย ตัวอย่างเช่น การใช้ Pandoc:
facebook-cli likes | pandoc -s -f markdown_github > likes.html
ดู: ตัวอย่าง
เพื่อนใน Facebook - สร้างเพจที่ให้คุณคลิกรูปโปรไฟล์ของเพื่อนเพื่อข้ามไปยังไทม์ไลน์ของพวกเขา
เบราว์เซอร์ Facebook - สร้างดัชนีที่สามารถค้นหาได้ของเพจ Facebook ทั้งหมดที่คุณติดตาม
สกรีนเซฟเวอร์ที่พิมพ์ชื่อของหน้า Facebook ที่ 'ถูกใจ' ทั้งหมดของคุณ สร้างขึ้นโดยใช้ผลลัพธ์ของ facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
เป็นการป้อนข้อความไปยังสกรีนเซฟเวอร์ฟอสเฟอร์
Facebook ได้ลบ Graph API ส่วนใหญ่ออกตั้งแต่เวอร์ชัน 2.0 Niraj Shah ทำงานได้อย่างยอดเยี่ยมในการบันทึกการตัดทอนและผลกระทบในบล็อกโพสต์เหล่านี้:
Facebook API: เปิดตัว Graph API v2.4, ลบกลุ่ม, การแจ้งเตือน และสิทธิ์ในการสตรีม
Facebook ประกาศ Graph API v2.3, การเลิกใช้เพิ่มเติม
Facebook API: การหาเพื่อนโดยใช้ Graph API 2.0 และ PHP SDK 4.0.x
บทความที่ตีพิมพ์ในเดือนตุลาคม 2555 โดย Henry Zhang ผู้พัฒนา Facebook ให้ข้อมูลเชิงลึกเกี่ยวกับเหตุผล:
การโพสต์ไปที่วอลล์ของเพื่อนผ่าน API จะสร้างผลตอบรับเชิงลบจากผู้ใช้ในระดับสูง รวมถึง "ซ่อน" และ "ทำเครื่องหมายว่าเป็นสแปม" ดังนั้นเราจึงลบมันออกจาก API หากคุณต้องการอนุญาตให้ผู้อื่นโพสต์ไปยังไทม์ไลน์ของเพื่อนจาก แอป คุณสามารถเรียกใช้กล่องโต้ตอบฟีดได้
การเปลี่ยนแปลงล่าสุดที่ระบุไว้ในพอร์ทัลนักพัฒนาของ Facebook ครอบคลุมการเลิกใช้งานครั้งใหญ่ที่ประกาศใช้ในปี 2018 ซึ่งทำให้ความสามารถของ facebook-cli ในการเข้าถึงกิจกรรมในอดีตและเหตุการณ์ที่กำลังจะเกิดขึ้น เผยแพร่เนื้อหา และเรียกชื่อเพื่อนที่แท็กได้ ดังที่ยังคงเป็นไปได้ด้วยข้อจำกัดที่มีมายาวนานก่อนหน้านี้ ฟังก์ชั่นที่มีอยู่ของ facebook-cli ถูกตัดออกเพื่อให้สะท้อนถึงการเปลี่ยนแปลงล่าสุด
ฟังก์ชันการทำงานที่ถูกลบออกไปทำให้ไม่สามารถสร้างอินเทอร์เฟซที่มีคุณสมบัติครบถ้วนให้กับ Facebook ผ่าน Graph API เพียงอย่างเดียวได้
หากคุณขยายฟังก์ชันการทำงานของ facebook-cli ในทางใดทางหนึ่ง โปรดเปิดคำขอดึง
โคลนที่เก็บนี้ จากนั้นใช้ Bundler เพื่อติดตั้งการขึ้นต่อกันของ Ruby:
gem install bundler bundle install
ตอนนี้คุณควรจะสามารถเรียกใช้ facebook-cli จากไดเร็กทอรี bin
:
bundle exec bin/facebook-cli
facebook-cli ขึ้นอยู่กับไลบรารี Koala สำหรับการเชื่อมต่อกับ Graph API ของ Facebook และ GLI สำหรับการแยกวิเคราะห์อาร์กิวเมนต์บรรทัดคำสั่ง
แนะนำให้ใช้ตัวจัดการสภาพแวดล้อม Ruby เช่น rbenv หรือ rvm เพื่อหลีกเลี่ยงความขัดแย้งด้านสภาพแวดล้อมระหว่างโปรเจ็กต์
หากคุณต้องการมีส่วนร่วม โปรดดูคำแนะนำโดยย่อ
การใช้งาน:
vhpoet/facebook-cli (Facebook CLI เขียนด้วย NodeJS)
fb-messenger-cli (Facebook Messenger สำหรับเทอร์มินัล)
Caprine (GUI แบบสแตนด์อโลนของ Facebook Messenger)
Messenger สำหรับเดสก์ท็อป (GUI แบบสแตนด์อโลนของ Facebook Messenger - ขณะนี้ยังไม่มีการบำรุงรักษา)
ห้องสมุด:
โคอาล่า (ทับทิม)
facebook-node-sdk (จาวาสคริปต์)
ไอเอสซี