คุณต้องการเรียนรู้วิธีเขียนแอปพลิเคชัน Twitter โดยใช้ Ruby หรือไม่? ถ้าอย่างนั้นคุณก็มาถูกที่แล้ว!
ในโพสต์นี้ ฉันจะสอนคุณทีละขั้นตอน วิธีสร้างโปรแกรมที่สามารถโต้ตอบกับ Twitter API และทำสิ่งต่างๆ เช่น ค้นหาคำหลักบางคำหรือส่งการตอบกลับอัตโนมัติ
เริ่มกันเลย!
การตั้งค่า
ก่อนอื่น คุณจะต้องติดตั้ง twitter
อัญมณี. ขั้นตอนนี้ง่ายมาก:
gem install twitter
หลังจากนั้นคุณจะต้องไปที่ https://apps.twitter.com/ และตั้งค่าแอปพลิเคชันใหม่ ในการทำเช่นนั้น คุณต้องคลิกที่ปุ่ม "สร้างแอปใหม่" ทางด้านขวา
จากนั้นกรอกแบบฟอร์ม ไม่สำคัญว่าคุณจะป้อนข้อมูลอะไรในตอนนี้ นี่คือสิ่งที่ฉันทำสำหรับตัวอย่างนี้:
ไม่ต้องกังวลกับช่องเว็บไซต์ คุณสามารถใช้ https://example.com เป็นตัวยึดตำแหน่ง
จากนั้นยอมรับข้อกำหนดของ Twitter โดยทำเครื่องหมายที่ "ใช่ ฉันยอมรับ" จากนั้นคลิกที่ "สร้างแอปพลิเคชัน Twitter ของคุณ"
หากทุกอย่างถูกต้อง คุณจะเห็นหน้าจอต่อไปนี้:
ตอนนี้คุณจะต้องคลิกที่ 'คีย์และโทเค็นการเข้าถึง' หน้านี้จะมีคีย์ 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
สั่งการ. คำสั่งนี้จะแสดงรายการวิธีการทั้งหมดสำหรับวัตถุหรือคลาสเฉพาะ
ในกรณีนี้:
ตอนนี้คุณจะเห็นว่ามี 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 เป็นเรื่องง่ายมากหลังจากการตั้งค่าเริ่มต้น ตอนนี้ถึงตาคุณแล้วที่จะลองทำสิ่งสนุกๆ!
อย่าลืมแชร์โพสต์นี้ จะได้เขียนบทความแบบนี้ต่อไป 🙂