ทวีตด่วนบน Opera

เวลาเราใช้ Firefox ผมเห็นบางคนจะติดตั้ง Add On ตัวหนึ่งไว้สำหรับอัพเดททวิตเตอร์ผ่านทาง Address Bar นั่นคือ Add On ที่ชื่อว่า Twitter Bar

วันนี้ผมนั่งทำ Bookmarklet สำหรับดูทวีตของผมที่ถูกรีทวีตไป (แอคเคาท์ผมมีปัญหาดูทวีตของเราที่ถูกรีทวีตไปผ่านหน้าเว็บไม่ได้) ก็เลยได้ไอเดียว่า เอ๊ะ เราน่าจะดัดแปลงเรื่องนี้ มาใช้สำหรับการอัพเดททวีตได้ ผ่านระบบ Custom Search (เบราเซอร์อื่นก็เอาไปดัดแปลงได้เช่นกัน)

มาดูฟีเจอร์ของมันก่อนครับ

  1. ลากครอบข้อความ แล้วสั่งทวีตได้ทันที
  2. ทวีตผ่าน Address Bar ผ่านคีย์เวิร์ดที่ตั้งไว้
  3. ทวีตผ่าน Search Bar

แค่นี้แหละครับ ฟีเจอร์มัน เอาล่ะ ไปดูวิธีทำกันครับ

ขั้นแรกให้เข้าไปที่ Manage Search Engine (ผ่าน Search Bar หรือ Memu > Settings > preferences > Search) จะปรากฎหน้าต่างแบบนี้ขึ้นมา

ให้กดไปที่ Add แล้วมันจะขึ้นหน้าต่างให้เพิ่ม Search Engine มาให้ครับ หน้าตาจะเป็นอย่างนี้

ซึ่งหากเราดูตาม Twitter REST API ตรงส่วนของ Status Update แล้วรูปแบบของ API เป็นยังไง ไปเปิดดูเอง ซึ่งจากรูปแบบของ API มัน ทำให้เราต้องกรอกค่างต่างๆ ตามนี้

  • Name : อะไรก็ได้ เอาเข้าใจง่ายๆไว้เถอะ ในที่นี้ผมใช้ Update Twitter
  • Keyword : คีย์เวิร์ดที่จะใช้ทวีตผ่าน Address Bar ในที่นี้ผมใช้ tweet
  • Address : https://username:[email protected]/1/statuses/update.xml เดี๋ยวจะอธิบายให้ ว่าทำไม
  • Query String : status=%s (อย่าลืมติ๊กถูกหน้า User POST ก่อน) เดี๋ยวจะอธิบาย

แล้วก็ OK ออกมา อ้อ มันยังไม่จบครับ มีปัญหาเรื่อง Encoding อีก ซึ่งถ้าทำไว้แค่นี้มันจะสามารถทวีตได้เฉพาะภาษาอังกฤษ เพราะ Twitter รับข้อควาเมป็น UTF-8 แต่ว่า Default ของ Opera มันตั้ง Encoding ของข้อความค้นหาไว้เป็น iso-8859-11

ก่อนจะแว้บไป ผมขออนุญาตอธิบายข้างบนนั่นก่อนครับ ตรงส่วนของ Address และ Query String

ในส่วนของ Address เราจะใส่ username กับ password ของเราลงไปด้วย (เนื่องจาก Status Update API ต้องการการ Authentication หรือ การล็อกอิน ก่อน จึงจะอัพเดทได้) ผมไม่รู้ว่ามันมีชื่อเรียกเฉพาะว่าอะไรสำหรับการล็อกอินแบบนี้ (คือพิมพ์ผ่านแอดเดรสบาร์ไปเลย) ดังนั้นจะขอตั้งชื่อมันว่า “In-line Authentication” ซึ่งลักษณะของมันจะเป็นดังนี้ครับ

http://<useranem>:<password>@url

เช่น

http://jirayu:[email protected]

อนึ่งคือใครที่เคยเข้าไอพีเราเตอร์แล้วมันจะเด้งไดอะล็อกมาให้ล็อกอิน แบบนั้นแหละึครับ (คือไอ้ล็อกอินแบบนี้เขาเรียก Basic Access Authentication ครับ) ดังนั้น เจ้านี่จะเป็นดาบสองคม เพราะใครต่อใครก็สามารถเปิดดูพาสเวิร์ดเราได้ ดังนั้น ไม่ควรทำบนคอมสาธารณะครับ

อีกข้อหนึ่งคือเรื่องของในช่อง Query String ทำไมต้องใส่ status=%s อันนี้เนื่องมาจากว่า Status Update API ต้องการการส่งข้อมูลแบบ POST (เข้าใจง่ายๆ ว่าเป็นการส่งข้อมูลแบบซ่อน Query String) โดยส่งข้อความผ่านตัวแปร status ดังนั้นเราจึงต้องสร้าง Query String ให้มีการส่งค่าตัวแปร status ไปด้วย ส่วน %s นั้นใช้อ้่างถึง search term ครับ

เอาล่ะครับ จบการขยายความแบบงงๆ ไว้เท่านี้ เราไปดูเีรื่องของเราต่อ

หลังจากเพิ่ม Search Engine แล้ว ให้เราเข้าไปที่นี่ (เปิด run command โดยกด Win+R แล้วใส่ลงไปเลยครับ)

%APPDATA%OperaOpera

จากนั้นให้เราเปิดไฟล์ search.ini ขึ้นมา มองหา Search Engine ที่เราเพิ่งเพิ่มเข้าไป จากนั้นแก้ตรง Encoding=iso-8859-11 ให้เป็น Encoding=utf-8 เท่านี้ก็เรียบร้อยครับ

เอาล่ะครับ หลังจากเซฟไฟล์แล้ว ก็รีสตาร์ทโปเอร่าตัวเก่งของเราสักรอบหนึ่ง แค่นี้ก็ใช้ได้แล้วครับ ลองจิ้มๆ กันดูนะครับ

Posted by jirayu

WordPress Developer ที่พอมีประสบการณ์อยู่บ้าง วันไหนไม่ทำงานอยู่บ้านว่างๆ ก็นั่งเลี้ยงแมว

Leave a Reply

Your email address will not be published. Required fields are marked *