ตัวอย่าง OAuth สำหรับนักพัฒนา Classic ASP (Jscript) ขอฟีดสาธารณะจาก Twitter API v1.1
ฉันใช้ Tweet.js บนเว็บไซต์หลายแห่งเพื่อขอและแสดงฟีด Twitter สาธารณะของลูกค้า เมื่อเลิกใช้ v1 API แล้ว ฉันได้สร้างโค้ดเล็กๆ นี้ซึ่งอยู่บนเซิร์ฟเวอร์ของฉันเอง และจัดการการตรวจสอบสิทธิ์และคำขอสำหรับไซต์ไคลเอ็นต์ทั้งหมดของฉัน รหัสจำกัดจำนวนคำขอ Twitter โดยการแคชการตอบสนอง JSON จาก Twitter ลงในไฟล์ในเครื่อง และสร้างคำขอใหม่สำหรับแต่ละ TwitterID เมื่อแคชหมดอายุ (ปัจจุบันตั้งไว้ที่ 3 ชั่วโมง เปลี่ยนแปลงได้ง่าย) ได้รับการออกแบบมาเพื่อส่งคืนทวีตมากถึงสิบโหลเพื่อแสดงบนเว็บไซต์ ฉันสงสัยว่ามันจะเหมาะสมสำหรับการส่งคืนทวีตจำนวนมากหรือแทนที่ไคลเอนต์ Twitter จริง
โค้ดใช้ฟังก์ชันการแยกวิเคราะห์วันที่และการขยายลิงก์จาก Tweet.js คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ Tweet.js ได้จากเว็บไซต์: http://twitter.seaofclouds.com/
หากต้องการใช้โค้ดนี้ คุณจะต้องใช้งาน Classic ASP วางไฟล์ ASP ไว้ในโฟลเดอร์เฉพาะบนเซิร์ฟเวอร์ของคุณ คุณจะต้องดาวน์โหลดไฟล์ crypto และ base64 js ที่กล่าวถึงในโค้ด และบันทึกไว้ในเครื่อง เปลี่ยนรหัสเพื่อแสดงตำแหน่งของไฟล์เหล่านี้ และตัดรหัสในแท็กสคริปต์ฝั่งเซิร์ฟเวอร์ ASP (<% %>) สุดท้าย ตรวจสอบให้แน่ใจว่าโฟลเดอร์มีสิทธิ์ในการเขียนเพื่อให้ FileSystemObject สามารถสร้างไฟล์แคชการตอบสนอง JSON
คุณจะต้องสร้างแอป Twitter API ของคุณเองที่นี่: https://dev.twitter.com/apps เมื่อคุณสร้างแอปแล้ว คุณจะต้องมีรหัสผู้บริโภคและข้อมูลลับของผู้บริโภค คุณจะต้องสร้างโทเค็นการเข้าถึงและข้อมูลลับโทเค็นการเข้าถึงด้วย ทั้งสี่รายการนี้มีอยู่ในแท็บรายละเอียด (รวมถึงแท็บเครื่องมือ OAuth) สำหรับแอปใหม่ของคุณบน Twitter
นอกจากคีย์และข้อมูลลับแล้ว คุณจะต้องระบุเส้นทางไฟล์ในเครื่องของคุณ (สำหรับไฟล์แคช) และรหัส Twitter เริ่มต้น (รหัส Twitter สุดท้ายจะถูกส่งผ่านสตริงการสืบค้น)
โค้ดมีการแสดงความคิดเห็นค่อนข้างหนัก และสถานที่ที่คุณต้องแทรกข้อมูลของคุณเองจะแสดงด้วยตัวพิมพ์ใหญ่และขีดล่างทั้งหมด (" YOUR_CONSUMER_SECRET_HERE ") ฉันหวังว่าจะค่อนข้างชัดเจน แต่อย่าลังเลที่จะถามคำถามกับฉัน
การใช้งานจากไซต์ของคุณเกี่ยวข้องกับการเรียกใช้คำขอ http ด้วยค่าสตริงการสืบค้นที่เหมาะสม
<%
var http = Server.CreateObject("MSXML2.ServerXMLHTTP");
http.open('GET', 'twitter-oauth.asp?count=1&id=16715178&output=none', false);
http.send();
Response.Write(http.responseText);
%>
โค้ดด้านบนส่งคืนเพียงข้อความ (และวันที่สัมพันธ์) ของทวีตต้นฉบับล่าสุดของฉัน หากไม่มีค่าสตริงการสืบค้น โค้ดจะส่งคืน JSON แบบ Raw สำหรับทวีตต้นฉบับ 5 รายการล่าสุด (ไม่มีการตอบกลับหรือรีทวีต) จากผู้ใช้เริ่มต้น (ระบุไว้ในโค้ดเอง)
ตัวเลือกสตริงการสืบค้นที่ยอมรับ ได้แก่ "count=", "id=", "output=", "replies=", "retwitters=" และ "force_update="