Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

เรียนรู้การใช้ Twitter API กับ Ruby

คุณต้องการเรียนรู้วิธีเขียนแอปพลิเคชัน Twitter โดยใช้ Ruby หรือไม่? ถ้าอย่างนั้นคุณก็มาถูกที่แล้ว!

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

เริ่มกันเลย!

การตั้งค่า

ก่อนอื่น คุณจะต้องติดตั้ง twitter อัญมณี. ขั้นตอนนี้ง่ายมาก:

gem install twitter

หลังจากนั้นคุณจะต้องไปที่ https://apps.twitter.com/ และตั้งค่าแอปพลิเคชันใหม่ ในการทำเช่นนั้น คุณต้องคลิกที่ปุ่ม "สร้างแอปใหม่" ทางด้านขวา

เรียนรู้การใช้ Twitter API กับ Ruby

จากนั้นกรอกแบบฟอร์ม ไม่สำคัญว่าคุณจะป้อนข้อมูลอะไรในตอนนี้ นี่คือสิ่งที่ฉันทำสำหรับตัวอย่างนี้:

เรียนรู้การใช้ Twitter API กับ Ruby

ไม่ต้องกังวลกับช่องเว็บไซต์ คุณสามารถใช้ https://example.com เป็นตัวยึดตำแหน่ง

จากนั้นยอมรับข้อกำหนดของ Twitter โดยทำเครื่องหมายที่ "ใช่ ฉันยอมรับ" จากนั้นคลิกที่ "สร้างแอปพลิเคชัน Twitter ของคุณ"

หากทุกอย่างถูกต้อง คุณจะเห็นหน้าจอต่อไปนี้:

เรียนรู้การใช้ Twitter API กับ Ruby

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

ขั้นตอนต่อไปคือการกรอกรายละเอียดของคุณในเทมเพลตนี้:

require 'twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"
end

คุณจะต้องคลิกที่ปุ่ม 'สร้างโทเค็นการเข้าถึง' เพื่อรับสองค่าสุดท้าย

เมื่อคุณเสร็จสิ้นขั้นตอนการตั้งค่านี้ คุณก็พร้อมที่จะเริ่มทำงานกับ API

การทำงานกับทวีต

ตอนนี้คุณสามารถเข้าถึง Twitter API ทั้งหมดผ่านทาง client วัตถุ. ตัวอย่างเช่น ฉันต้องการทำสิ่งต่อไปนี้:ดาวน์โหลด 20 ทวีตล่าสุดจาก @rubyinside บัญชีและบันทึกลงในไฟล์ YAML สำหรับการวิเคราะห์ในภายหลัง

ในการดึงไทม์ไลน์สำหรับผู้ใช้ Twitter คุณสามารถใช้ user_timeline วิธีการ

ตัวอย่าง :

tweets = client.user_timeline('rubyinside', count: 20)

เมธอดนี้จะคืนค่าอาร์เรย์ของออบเจ็กต์ Tweet ที่คุณสามารถโต้ตอบด้วยได้ แต่คุณจะทำอย่างนั้นได้อย่างไร

คุณสามารถค้นหาเอกสารได้ แต่สิ่งที่ฉันสนุกกว่าคือใช้ pry . หากคุณเรียกใช้โค้ดภายใน pry คุณจะสามารถใช้ ls Twitter::Tweet สั่งการ. คำสั่งนี้จะแสดงรายการวิธีการทั้งหมดสำหรับวัตถุหรือคลาสเฉพาะ

ในกรณีนี้:

เรียนรู้การใช้ Twitter API กับ Ruby

ตอนนี้คุณจะเห็นว่ามี full_text วิธีที่เราสามารถใช้ได้ มาทำอย่างนั้นเพื่อพิมพ์เนื้อหาทวีต

tweets.each { |tweet| puts tweet.full_text }

คุณสามารถลองวิธีอื่นเพื่อความสนุกสนานได้เช่นกัน 🙂

กำลังบันทึกทวีตของคุณ

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

require 'yaml'

# ... rest of the code here ...

File.write('tweets.yml', YAML.dump(tweets))

จากนั้นคุณสามารถโหลดทวีตเหล่านี้ได้โดยใช้ YAML.load_file วิธีการ

require 'yaml'
require 'twitter'

tweets = YAML.load_file('tweets.yml')

ทวีตจะพร้อมใช้งานในรูปแบบเดิม เช่นเดียวกับที่คุณเพิ่งขออีกครั้ง ไม่เจ๋งเหรอ? 🙂

การส่งทวีต

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

หากต้องการส่งทวีตใหม่ คุณสามารถใช้ update วิธีการ

client.update("I'm having some fun with the Twitter gem!")

ดังนั้นคุณสามารถทำสิ่งนี้:

client.search('#ruby').take(3).each do |tweet|
  client.update("@#{tweet.user} Hey I love Ruby too, what are your favorite blogs? :)")
end

อีกทางเลือกหนึ่งคือใช้ API การสตรีม ซึ่งจะให้เหตุการณ์ 'สด' แก่คุณทันทีที่เกิดขึ้น ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบ

บทสรุป

Twitter gem ทำให้การทำงานกับ Twitter API เป็นเรื่องง่ายมากหลังจากการตั้งค่าเริ่มต้น ตอนนี้ถึงตาคุณแล้วที่จะลองทำสิ่งสนุกๆ!

อย่าลืมแชร์โพสต์นี้ จะได้เขียนบทความแบบนี้ต่อไป 🙂