Twitter API สำหรับ Laravel 10.x, 11.x (และเวอร์ชันใหม่เมื่อมีการเปิดตัว) รองรับเฟรมเวิร์กอื่น ๆ ผ่าน PHP-DI (หรือเพิ่มการรองรับเฟรมเวิร์กของคุณผ่านการประชาสัมพันธ์ได้ตามสบาย)
คุณต้องสร้างแอปพลิเคชันและสร้างโทเค็นการเข้าถึงของคุณในการจัดการแอปพลิเคชัน
composer require atymic/twitter:^3.0 -W
เพียงตั้งค่าตัวแปรสภาพแวดล้อมด้านล่างใน .env
ของคุณ
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_API_VERSION=
เรียก php artisan vendor:publish --provider="AtymicTwitterServiceProviderLaravelServiceProvider"
/config/twitter.php
3.x เป็นเวอร์ชันหลักในปัจจุบัน และไม่สามารถใช้งานร่วมกับ 2.x แบบย้อนหลังได้
ดูคู่มือการย้ายข้อมูลใน UPGRADE.md
2.x ไม่ได้รับการบำรุงรักษาอีกต่อไป เราไม่ยอมรับการแก้ไขข้อบกพร่อง โปรดอัปเกรดเป็น 3.x
คุณสามารถเลือกระหว่างรูปแบบเอาต์พุตที่แตกต่างกันสามแบบ ตามค่าเริ่มต้น การตอบสนอง API v1 จะถูกส่งกลับเป็นออบเจ็กต์ ในขณะที่การตอบสนอง API v2 จะถูกส่งกลับเป็น JSON หากต้องการเปลี่ยนแปลง ให้ใช้ตัวเลือก response_format
ในพารามิเตอร์ที่คุณส่งไปยังวิธีใดก็ได้
response_format : object|json|array (v1 default:object) (v2 default:json)
หากต้องการตั้งค่าเวอร์ชัน twitter API เริ่มต้นเป็น v2 แทนที่จะเป็น v1.1
เริ่มต้น ให้ตั้งค่า TWITTER_API_VERSION
เป็น 2
ใน . .env
ของคุณ
หากคุณได้ตั้งค่า v1.1
api เป็นค่าเริ่มต้น คุณสามารถใช้ Twitter::forApiV2()
เพื่อรับอินสแตนซ์ของไคลเอ็นต์ v2 ได้ เช่นเดียวกับการรับอินสแตนซ์ v1
จากไคลเอนต์ v2
โดยใช้ Twitter::forApiV1()
การเรียก Twitter::forApiV1()
บนอินสแตนซ์ไคลเอนต์ v1
หรือ v2
นั้นปลอดภัย
getSettings()
- คืนการตั้งค่า (รวมถึงข้อมูลแนวโน้มปัจจุบัน ภูมิศาสตร์ และเวลาพักเครื่อง) สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์getCredentials()
postSettings()
- อัปเดตการตั้งค่าการตรวจสอบสิทธิ์ของผู้ใช้postSettingsDevice()
- ตั้งค่าอุปกรณ์ที่ Twitter จะส่งการอัปเดตให้กับผู้ใช้ที่ตรวจสอบสิทธิ์ การส่งไม่มีเนื่องจากพารามิเตอร์อุปกรณ์จะปิดใช้การอัปเดต SMSpostProfile()
- ตั้งค่าบางอย่างที่ผู้ใช้สามารถตั้งค่าได้ภายใต้แท็บ "บัญชี" ของหน้าการตั้งค่า เฉพาะพารามิเตอร์ที่ระบุเท่านั้นที่จะได้รับการอัปเดตpostBackground()
- อัปเดตรูปภาพพื้นหลังโปรไฟล์ของผู้ใช้ที่ตรวจสอบสิทธิ์ วิธีนี้ยังสามารถใช้เพื่อเปิดหรือปิดใช้งานภาพพื้นหลังโปรไฟล์ได้postProfileImage()
- อัปเดตภาพโปรไฟล์ของผู้ใช้ที่ตรวจสอบสิทธิ์ โปรดทราบว่าวิธีนี้ต้องการข้อมูลดิบที่มีหลายส่วน ไม่ใช่ URL ไปยังรูปภาพdestroyUserBanner()
- ลบแบนเนอร์โปรไฟล์ที่อัพโหลดสำหรับผู้ใช้ที่ตรวจสอบสิทธิ์ ส่งคืน HTTP 200 เมื่อสำเร็จpostUserBanner()
- อัปโหลดแบนเนอร์โปรไฟล์ในนามของผู้ใช้ที่ตรวจสอบสิทธิ์ เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ให้อัปโหลดโหนด profile_banner_url ในออบเจ็กต์ Users setWebhook($env, $url)
- ลงทะเบียน URL ของ webhook สำหรับกิจกรรมทุกประเภทในสภาพแวดล้อมที่กำหนดcrcHash($crcToken)
- ส่งคืนแฮช HMAC SHA-256 จากโทเค็น CRC ที่กำหนดและข้อมูลลับผู้บริโภค คุณจะต้องส่งคืนสิ่งนี้บนเว็บฮุคของคุณ (ข้อมูลเพิ่มเติม)getWebhooks($env)
- ส่งคืน URL ของ webhook สำหรับสภาพแวดล้อมที่กำหนด (หรือสภาพแวดล้อมทั้งหมดหากไม่มีให้) และสถานะสำหรับแอปการตรวจสอบสิทธิ์updateWebhooks($env, $webhookId)
- ทริกเกอร์การตรวจสอบการตอบสนองต่อความท้าทาย (CRC) สำหรับ webhook สภาพแวดล้อมที่กำหนดสำหรับกิจกรรมทั้งหมด หากตรวจสอบสำเร็จ จะคืนค่าเป็น "จริง" และเปิดใช้งานเว็บฮุคอีกครั้งโดยตั้งค่าสถานะเป็น "ถูกต้อง"destroyWebhook($env, $webhookId)
- ลบ webhook ออกจากการกำหนดค่ากิจกรรมทั้งหมดของแอปพลิเคชันที่ให้มา ผลตอบแทนจริงเมื่อประสบความสำเร็จsetSubscriptions($env)
- สมัครสมาชิกแอปพลิเคชันที่จัดเตรียมให้กับกิจกรรมทั้งหมดสำหรับสภาพแวดล้อมที่จัดเตรียมไว้สำหรับข้อความทุกประเภท ผลตอบแทนจริงเมื่อประสบความสำเร็จgetSubscriptions($env)
- คืนค่าเป็นจริงหากบริบทผู้ใช้ที่ระบุมีการสมัครสมาชิกที่ใช้งานอยู่พร้อมกับแอปพลิเคชันที่ให้มาgetSubscriptionsCount()
- ส่งกลับจำนวนการสมัครสมาชิกที่ใช้งานอยู่ในบัญชีของคุณสำหรับกิจกรรมทั้งหมดgetSubscriptionsList($env)
- ส่งคืนรายการการสมัครสมาชิกประเภทกิจกรรมทั้งหมดปัจจุบันdestroyUserSubscriptions($env, $userId)
- ปิดใช้งานการสมัครสมาชิกสำหรับ id ผู้ใช้ที่ระบุจากสภาพแวดล้อม ผลตอบแทนจริงเมื่อประสบความสำเร็จ getBlocks()
- ส่งคืนคอลเลกชันของอ็อบเจ็กต์ผู้ใช้ที่ผู้ใช้ที่ตรวจสอบความถูกต้องกำลังบล็อกgetBlocksIds()
- ส่งคืนอาร์เรย์ของรหัสผู้ใช้ที่เป็นตัวเลขที่ผู้ใช้ที่ตรวจสอบความถูกต้องกำลังบล็อกpostBlock()
- บล็อกผู้ใช้ที่ระบุไม่ให้ติดตามผู้ใช้ที่ตรวจสอบสิทธิ์ นอกจากนี้ ผู้ใช้ที่ถูกบล็อกจะไม่แสดงในการกล่าวถึงผู้ใช้หรือไทม์ไลน์ที่กำลังตรวจสอบสิทธิ์ (เว้นแต่จะมีการรีทวีตโดยผู้ใช้รายอื่น) หากมีการติดตามหรือเป็นเพื่อนอยู่ ความสัมพันธ์นั้นจะถูกทำลายdestroyBlock()
- เลิกบล็อกผู้ใช้ที่ระบุในพารามิเตอร์ ID สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์ ส่งคืนผู้ใช้ที่ไม่ได้ถูกบล็อกในรูปแบบที่ร้องขอเมื่อสำเร็จ หากความสัมพันธ์มีอยู่ก่อนที่จะมีการติดตั้งบล็อก ความสัมพันธ์เหล่านั้นจะไม่ได้รับการกู้คืน getDm()
- ส่งคืนเหตุการณ์ข้อความเดียวที่ระบุโดยพารามิเตอร์ idgetDms()
- ส่งคืนเหตุการณ์ Direct Message ทั้งหมด (ทั้งที่ส่งและรับ) ภายใน 30 วันที่ผ่านมา เรียงตามลำดับเวลาย้อนกลับdestroyDm()
- ทำลายข้อความโดยตรงที่ระบุในพารามิเตอร์ ID ที่ต้องการ ผู้ใช้ที่ตรวจสอบความถูกต้องจะต้องเป็นผู้รับข้อความโดยตรงที่ระบุpostDm()
- เผยแพร่เหตุการณ์ message_create ใหม่ซึ่งส่งผลให้มีข้อความตรงที่ส่งไปยังผู้ใช้ที่ระบุจากผู้ใช้ที่ตรวจสอบสิทธิ์ ส่งคืนเหตุการณ์หากสำเร็จ รองรับการเผยแพร่ข้อความโดยตรงพร้อมตัวเลือกการตอบกลับด่วนและไฟล์แนบสื่อ getFavorites()
- ส่งคืนทวีตล่าสุด 20 รายการที่ชื่นชอบโดยผู้ใช้ที่ตรวจสอบสิทธิ์หรือระบุdestroyFavorite()
- ยกเลิกรายการโปรดสถานะที่ระบุในพารามิเตอร์ ID ในฐานะผู้ใช้ที่ตรวจสอบสิทธิ์ ส่งคืนสถานะที่ไม่เป็นรายการโปรดในรูปแบบที่ร้องขอเมื่อสำเร็จpostFavorite()
- รายการโปรดสถานะที่ระบุในพารามิเตอร์ ID ในฐานะผู้ใช้ที่ตรวจสอบสิทธิ์ คืนสถานะรายการโปรดเมื่อสำเร็จ getNoRters()
- ส่งคืนคอลเล็กชันของ user_ids ที่ผู้ใช้ที่ได้รับการรับรองความถูกต้องในปัจจุบันไม่ต้องการรับรีทวีตgetFriendsIds()
- ส่งคืนคอลเลกชัน ID ผู้ใช้ที่เคอร์เซอร์สำหรับผู้ใช้ทุกคนที่ติดตามผู้ใช้ที่ระบุgetFollowersIds()
- ส่งคืนคอลเลกชัน ID ผู้ใช้ที่เคอร์เซอร์สำหรับผู้ใช้ทุกคนที่ติดตามผู้ใช้ที่ระบุgetFriendshipsIn()
- ส่งคืนชุดรหัสตัวเลขสำหรับผู้ใช้ทุกคนที่มีคำขอที่รอดำเนินการเพื่อติดตามผู้ใช้ที่ตรวจสอบสิทธิ์getFriendshipsOut()
- ส่งคืนชุดรหัสตัวเลขสำหรับผู้ใช้ที่ได้รับการป้องกันทุกรายซึ่งผู้ใช้ที่ตรวจสอบความถูกต้องมีคำขอติดตามที่รอดำเนินการอยู่postFollow()
- อนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์ติดตามผู้ใช้ที่ระบุในพารามิเตอร์ IDpostUnfollow()
- อนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์เลิกติดตามผู้ใช้ที่ระบุในพารามิเตอร์ IDpostFollowUpdate()
- อนุญาตให้เปิดหรือปิดการรีทวีตและการแจ้งเตือนอุปกรณ์จากผู้ใช้ที่ระบุgetFriendships()
- ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับความสัมพันธ์ระหว่างผู้ใช้สองคนโดยพลการgetFriends()
- ส่งคืนคอลเลกชันเคอร์เซอร์ของอ็อบเจ็กต์ผู้ใช้สำหรับผู้ใช้ทุกคนที่ผู้ใช้ที่ระบุติดตาม (หรือเรียกอีกอย่างว่า "เพื่อน")getFollowers()
- ส่งคืนคอลเลกชันเคอร์เซอร์ของอ็อบเจ็กต์ผู้ใช้สำหรับผู้ใช้ที่ติดตามผู้ใช้ที่ระบุgetFriendshipsLookup()
- ส่งคืนความสัมพันธ์ของผู้ใช้ที่ตรวจสอบความถูกต้องไปยังรายการที่คั่นด้วยเครื่องหมายจุลภาคของ screen_names หรือ user_id สูงสุด 100 รายการที่ระบุ ค่าสำหรับการเชื่อมต่ออาจเป็นดังนี้: กำลังติดตาม, กำลังติดตาม_ร้องขอ, ตาม_โดย, ไม่มี, การบล็อก, การปิดเสียง getGeo()
- ส่งคืนข้อมูลทั้งหมดเกี่ยวกับสถานที่ที่รู้จักgetGeoReverse()
- เมื่อกำหนดละติจูดและลองจิจูด ให้ค้นหาสถานที่ได้มากถึง 20 แห่งซึ่งสามารถใช้เป็น place_id เมื่ออัปเดตสถานะgetGeoSearch()
- ค้นหาสถานที่ที่สามารถแนบไปกับสถานะ/อัปเดต เมื่อพิจารณาคู่ละติจูดและลองจิจูด ที่อยู่ IP หรือชื่อ คำขอนี้จะส่งคืนรายการสถานที่ที่ถูกต้องทั้งหมดที่สามารถใช้เป็น place_id เมื่ออัปเดตสถานะgetGeoSimilar()
- ค้นหาสถานที่ใกล้กับพิกัดที่กำหนดซึ่งมีชื่อคล้ายกัน ตามหลักการแล้ว คุณจะใช้วิธีนี้เพื่อดูรายการสถานที่ทราบให้เลือกก่อน จากนั้น หากไม่มีสถานที่ที่ต้องการ ให้ส่งคำขอไปยัง POST ภูมิศาสตร์/สถานที่ เพื่อสร้างสถานที่ใหม่ โทเค็นที่มีอยู่ในการตอบกลับคือโทเค็นที่จำเป็นในการสร้างสถานที่ใหม่ postSpam()
- รายงานผู้ใช้ที่ระบุว่าเป็นบัญชีสแปมไปยัง Twitter นอกจากนี้ยังดำเนินการเทียบเท่ากับการบล็อก / สร้าง POST ในนามของผู้ใช้ที่ได้รับการรับรองความถูกต้องgetHelpConfiguration()
- ส่งคืนการกำหนดค่าปัจจุบันที่ Twitter ใช้ รวมถึงตัวทากของ twitter.com ที่ไม่ใช่ชื่อผู้ใช้ ความละเอียดสูงสุดของรูปภาพ และความยาว URL ของ t.cogetHelpLanguages()
- ส่งคืนรายการภาษาที่ Twitter รองรับ พร้อมด้วยรหัสภาษาที่ Twitter รองรับgetHelpPrivacy()
- คืนนโยบายความเป็นส่วนตัวของ TwittergetHelpTos()
- คืนข้อกำหนดในการให้บริการของ Twitter หมายเหตุ: สิ่งเหล่านี้ไม่เหมือนกับนโยบายสำหรับนักพัฒนาซอฟต์แวร์getAppRateLimit()
- ส่งกลับขีดจำกัดอัตราปัจจุบันสำหรับวิธีการที่เป็นของตระกูลทรัพยากรที่ระบุ getLists()
- ส่งคืนรายการทั้งหมดที่ผู้ใช้ตรวจสอบสิทธิ์หรือระบุสมัครรับข้อมูล รวมถึงรายการของตนเองด้วย ระบุผู้ใช้โดยใช้พารามิเตอร์ user_id หรือ screen_name หากไม่มีการระบุผู้ใช้ ระบบจะใช้ผู้ใช้ที่ตรวจสอบสิทธิ์getListStatuses()
- ส่งคืนไทม์ไลน์ของทวีตที่เขียนโดยสมาชิกของรายการที่ระบุ การรีทวีตจะถูกรวมไว้ตามค่าเริ่มต้น ใช้พารามิเตอร์ include_rts=false เพื่อละเว้นการรีทวีตdestroyListMember()
- ลบสมาชิกที่ระบุออกจากรายการ ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการเพื่อลบสมาชิกออกจากรายการgetListsMemberships()
- ส่งคืนรายการที่ผู้ใช้ที่ระบุถูกเพิ่มเข้าไป หากไม่ได้ระบุ user_id หรือ screen_name ความเป็นสมาชิกสำหรับผู้ใช้ที่ตรวจสอบความถูกต้องจะถูกส่งคืนgetListsSubscribers()
- ส่งคืนสมาชิกของรายการที่ระบุ สมาชิกรายการส่วนตัวจะแสดงก็ต่อเมื่อผู้ใช้ที่ได้รับการรับรองความถูกต้องเป็นเจ้าของรายการที่ระบุpostListSubscriber()
- สมัครสมาชิกผู้ใช้ที่ได้รับการรับรองความถูกต้องในรายการที่ระบุgetListSubscriber()
- ส่งคืนสมาชิกของรายการที่ระบุ สมาชิกรายการส่วนตัวจะแสดงก็ต่อเมื่อผู้ใช้ที่ได้รับการรับรองความถูกต้องเป็นเจ้าของรายการที่ระบุdestroyListSubscriber()
- ยกเลิกการสมัครผู้ใช้ที่ได้รับการรับรองความถูกต้องจากรายการที่ระบุpostListCreateAll()
- เพิ่มสมาชิกหลายรายการในรายการ โดยการระบุรายการรหัสสมาชิกหรือชื่อหน้าจอที่คั่นด้วยเครื่องหมายจุลภาค ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการจึงจะสามารถเพิ่มสมาชิกได้ โปรดทราบว่ารายการมีสมาชิกได้ไม่เกิน 5,000 ราย และคุณสามารถเพิ่มสมาชิกลงในรายการได้ครั้งละ 100 รายด้วยวิธีนี้getListMember()
- ตรวจสอบว่าผู้ใช้ที่ระบุเป็นสมาชิกของรายการที่ระบุหรือไม่getListMembers()
- ส่งคืนสมาชิกของรายการที่ระบุ สมาชิกรายการส่วนตัวจะแสดงก็ต่อเมื่อผู้ใช้ที่ได้รับการรับรองความถูกต้องเป็นเจ้าของรายการที่ระบุpostListMember()
- เพิ่มสมาชิกในรายการ ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการจึงจะสามารถเพิ่มสมาชิกได้ โปรดทราบว่ารายการต้องมีสมาชิกไม่เกิน 5,000 คนdestroyList()
- ลบรายการที่ระบุ ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการจึงจะสามารถทำลายได้postListUpdate()
- อัพเดตรายการที่ระบุ ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการเพื่อให้สามารถอัปเดตได้postList()
- สร้างรายการใหม่สำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้อง โปรดทราบว่าคุณไม่สามารถสร้างรายการได้มากกว่า 20 รายการต่อบัญชีgetList()
- ส่งคืนรายการที่ระบุ รายการส่วนตัวจะแสดงก็ต่อเมื่อผู้ใช้ที่ได้รับการรับรองความถูกต้องเป็นเจ้าของรายการที่ระบุgetListSubscriptions()
- รับคอลเลกชันของรายการที่ผู้ใช้ที่ระบุสมัครรับข้อมูล 20 รายการต่อหน้าตามค่าเริ่มต้น ไม่รวมรายการของผู้ใช้เองdestroyListMembers()
- ลบสมาชิกหลายรายการออกจากรายการ โดยระบุรายการรหัสสมาชิกหรือชื่อหน้าจอที่คั่นด้วยเครื่องหมายจุลภาค ผู้ใช้ที่ได้รับการรับรองความถูกต้องจะต้องเป็นเจ้าของรายการเพื่อให้สามารถลบสมาชิกออกจากรายการได้ โปรดทราบว่ารายการมีสมาชิกได้ไม่เกิน 500 ราย และคุณสามารถลบสมาชิกออกจากรายการได้ครั้งละไม่เกิน 100 รายด้วยวิธีนี้getListOwnerships()
- ส่งคืนรายการที่เป็นของผู้ใช้ Twitter ที่ระบุ รายการส่วนตัวจะแสดงก็ต่อเมื่อผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของรายการด้วย uploadMedia()
- อัปโหลดสื่อ (รูปภาพ) ไปยัง Twitter เพื่อใช้ในทวีตหรือการ์ดที่โฮสต์โดย Twitter getSearch()
- ส่งคืนชุดทวีตที่เกี่ยวข้องซึ่งตรงกับข้อความค้นหาที่ระบุgetSavedSearches()
- ส่งคืนคำค้นหาที่บันทึกไว้ของผู้ใช้ที่ผ่านการรับรองความถูกต้องgetSavedSearch()
- ดึงข้อมูลสำหรับการค้นหาที่บันทึกไว้ซึ่งแสดงโดย ID ที่กำหนด ผู้ใช้ที่ตรวจสอบความถูกต้องจะต้องเป็นเจ้าของ ID การค้นหาที่บันทึกไว้ที่ถูกร้องขอpostSavedSearch()
- สร้างการค้นหาที่บันทึกไว้ใหม่สำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้อง ผู้ใช้อาจมีการค้นหาที่บันทึกไว้เพียง 25 รายการเท่านั้นdestroySavedSearch()
- ทำลายการค้นหาที่บันทึกไว้สำหรับผู้ใช้ที่รับรองความถูกต้อง ผู้ใช้ที่ตรวจสอบความถูกต้องจะต้องเป็นเจ้าของ ID การค้นหาที่บันทึกไว้ที่ถูกทำลาย getMentionsTimeline()
- ส่งคืนการกล่าวถึงล่าสุด 20 รายการ (ทวีตที่มี @screen_name ของผู้ใช้) สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์getUserTimeline()
- ส่งคืนคอลเลกชันของทวีตล่าสุดที่โพสต์โดยผู้ใช้ที่ระบุโดยพารามิเตอร์ screen_name หรือ user_idgetHomeTimeline()
- ส่งคืนคอลเลกชันของทวีตและรีทวีตล่าสุดที่โพสต์โดยผู้ใช้ที่ตรวจสอบสิทธิ์และผู้ใช้ที่พวกเขาติดตาม ไทม์ไลน์หลักเป็นศูนย์กลางในการโต้ตอบของผู้ใช้ส่วนใหญ่กับบริการ Twitter -getRtsTimeline()
- ส่งคืนทวีตล่าสุดที่เขียนโดยผู้ใช้ที่ตรวจสอบความถูกต้องและถูกรีทวีตโดยผู้อื่นgetRts()
- ส่งคืนคอลเล็กชันของการรีทวีตล่าสุดของทวีต 100 รายการที่ระบุโดยพารามิเตอร์ idgetTweet()
- ส่งคืนทวีตเดียวที่ระบุโดยพารามิเตอร์ id ผู้เขียนทวีตจะถูกฝังอยู่ภายในทวีตด้วยdestroyTweet()
- ทำลายสถานะที่ระบุโดยพารามิเตอร์ ID ที่ต้องการ ผู้ใช้ที่ตรวจสอบความถูกต้องจะต้องเป็นผู้สร้างสถานะที่ระบุ คืนสถานะที่ถูกทำลายหากสำเร็จpostTweet()
- อัปเดตสถานะปัจจุบันของผู้ใช้ที่ตรวจสอบสิทธิ์หรือที่เรียกว่าทวีตpostRt()
- รีทวีตทวีต ส่งคืนทวีตต้นฉบับพร้อมรายละเอียดการรีทวีตที่ฝังอยู่getOembed()
- ส่งกลับทวีตเดียวที่ระบุโดย URL ของเว็บทวีตหรือรหัสทวีต ในรูปแบบที่เข้ากันได้กับ oEmbed ข้อมูลโค้ด HTML ที่ส่งคืนจะถูกจดจำโดยอัตโนมัติว่าเป็นทวีตแบบฝัง เมื่อมีการรวมวิดเจ็ต JavaScript ของ Twitter ไว้ในเพจgetRters()
- ส่งคืนคอลเลกชัน ID ผู้ใช้สูงสุด 100 รายการที่เป็นของผู้ใช้ที่รีทวีตทวีตที่ระบุโดยพารามิเตอร์ idgetStatusesLookup()
- ส่งคืนอ็อบเจ็กต์ทวีตที่มีไฮเดรตแบบเต็มสำหรับทวีตสูงสุด 100 ทวีตต่อคำขอ ตามที่ระบุโดยค่าที่คั่นด้วยเครื่องหมายจุลภาคที่ส่งไปยังพารามิเตอร์ id getTrendsPlace()
- ส่งคืนหัวข้อมาแรง 10 อันดับแรกสำหรับ WOEID เฉพาะเจาะจง หากมีข้อมูลมาแรงgetTrendsAvailable()
- ส่งคืนตำแหน่งที่ Twitter มีข้อมูลหัวข้อที่กำลังได้รับความนิยมgetTrendsClosest()
- ส่งกลับตำแหน่งที่ Twitter มีข้อมูลหัวข้อที่กำลังได้รับความนิยม ซึ่งใกล้กับตำแหน่งที่ระบุมากที่สุด getUsersLookup()
- ส่งคืนออบเจ็กต์ผู้ใช้ที่มีข้อมูลครบถ้วนสำหรับผู้ใช้สูงสุด 100 รายต่อคำขอ ตามที่ระบุโดยค่าที่คั่นด้วยเครื่องหมายจุลภาคที่ส่งไปยังพารามิเตอร์ user_id และ/หรือ screen_namegetUsers()
- ส่งคืนข้อมูลที่หลากหลายเกี่ยวกับผู้ใช้ที่ระบุโดยพารามิเตอร์ user_id หรือ screen_name ที่จำเป็น ทวีตล่าสุดของผู้เขียนจะถูกส่งกลับในบรรทัดเมื่อเป็นไปได้getUsersSearch()
- ให้อินเทอร์เฟซการค้นหาที่เรียบง่ายตามความเกี่ยวข้องสำหรับบัญชีผู้ใช้สาธารณะบน Twitter ลองค้นหาตามความสนใจ ชื่อเต็ม ชื่อบริษัท สถานที่ตั้ง หรือเกณฑ์อื่นๆ ไม่รองรับการค้นหาแบบตรงทั้งหมดgetUserBanner()
- ส่งคืนแผนผังขนาดต่างๆ ที่มีอยู่ของแบนเนอร์โปรไฟล์ของผู้ใช้ที่ระบุ หากผู้ใช้ไม่ได้อัปโหลดแบนเนอร์โปรไฟล์ ระบบจะใช้ HTTP 404 แทน สามารถใช้วิธีนี้แทนการจัดการสตริงบนprofile_banner_urlที่ส่งคืนในอ็อบเจ็กต์ผู้ใช้ตามที่อธิบายไว้ในรูปภาพโปรไฟล์และแบนเนอร์muteUser()
- ปิดเสียงผู้ใช้ที่ระบุในพารามิเตอร์ ID สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์unmuteUser()
- ยกเลิกการปิดเสียงผู้ใช้ที่ระบุในพารามิเตอร์ ID สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์mutedUserIds()
- ส่งกลับอาร์เรย์ของรหัสผู้ใช้ที่เป็นตัวเลขที่ผู้ใช้ตรวจสอบความถูกต้องได้ปิดเสียงไว้mutedUsers()
- ส่งคืนอาร์เรย์ของอ็อบเจ็กต์ผู้ใช้ที่ผู้ใช้ตรวจสอบความถูกต้องได้ปิดเสียงgetSuggesteds()
- เข้าถึงผู้ใช้ในหมวดหมู่ที่กำหนดของรายชื่อผู้ใช้ที่แนะนำของ TwittergetSuggestions()
- เข้าถึงรายชื่อผู้ใช้ที่แนะนำของ Twitter ซึ่งจะส่งคืนรายการหมวดหมู่ผู้ใช้ที่แนะนำ หมวดหมู่สามารถใช้ใน GET users / comparison / :slug เพื่อรับผู้ใช้ในหมวดหมู่นั้นgetSuggestedsMembers()
- เข้าถึงผู้ใช้ในหมวดหมู่ที่กำหนดของรายชื่อผู้ใช้ที่แนะนำของ Twitter และส่งคืนสถานะล่าสุดหากไม่ใช่ผู้ใช้ที่ได้รับการป้องกันgetTweet()
- ส่งคืนข้อมูลที่หลากหลายเกี่ยวกับทวีตเดียวที่ระบุโดย ID ที่ร้องขอgetTweets()
- ส่งคืนข้อมูลที่หลากหลายเกี่ยวกับทวีตที่ระบุโดย ID ที่ร้องขอหรือรายการ ID searchRecent()
- จุดสิ้นสุดการค้นหาล่าสุดส่งคืนทวีตจากเจ็ดวันล่าสุดที่ตรงกับคำค้นหา
searchAll()
- จุดสิ้นสุดการค้นหาที่เก็บถาวรแบบเต็มจะส่งคืนประวัติที่สมบูรณ์ของทวีตสาธารณะที่ตรงกับคำค้นหา นับตั้งแต่ทวีตแรกถูกสร้างขึ้นเมื่อวันที่ 26 มีนาคม พ.ศ. 2549
หมายเหตุ: ตำแหน่งข้อมูลนี้มีให้เฉพาะกับผู้ที่ได้รับอนุมัติสำหรับกลุ่มผลิตภัณฑ์การวิจัยทางวิชาการเท่านั้น
userTweets()
- ส่งคืนทวีตที่แต่งโดยผู้ใช้คนเดียว ระบุโดย ID ผู้ใช้ที่ร้องขอ ตามค่าเริ่มต้น สิบทวีตล่าสุดจะถูกส่งกลับตามคำขอ การใช้การแบ่งหน้าสามารถดึงข้อมูลทวีตล่าสุดได้ 3,200 ทวีตuserMentions()
- ส่งคืนทวีตที่กล่าวถึงผู้ใช้รายเดียวที่ระบุโดย ID ผู้ใช้ที่ร้องขอ ตามค่าเริ่มต้น สิบทวีตล่าสุดจะถูกส่งกลับตามคำขอ การใช้การแบ่งหน้าสามารถดึงข้อมูลทวีตล่าสุดได้มากถึง 800 ทวีต getStreamRules()
- ส่งคืนรายการกฎที่ใช้งานอยู่ในปัจจุบันบนจุดสิ้นสุดการสตรีม ไม่ว่าจะเป็นแบบรายการหรือทีละรายการpostStreamRules()
- เพิ่มหรือลบกฎเกณฑ์ในการสตรีมของคุณgetStream()
- สตรีมทวีตแบบเรียลไทม์ตามกฎตัวกรองชุดเฉพาะ getSampledStream()
- สตรีมประมาณ 1% ของทวีตทั้งหมดแบบเรียลไทม์ hideTweet()
- ซ่อนหรือยกเลิกการซ่อนการตอบกลับทวีต countRecent()
- รับจำนวนทวีตที่ตรงกับข้อความค้นหาในช่วง 7 วันที่ผ่านมา
countAll()
- รับจำนวนทวีตที่ตรงกับข้อความค้นหา
หมายเหตุ: มีให้ใช้งานผ่านช่องทางผลิตภัณฑ์การวิจัยเชิงวิชาการเท่านั้น
Linkify : แปลง URL, @ชื่อผู้ใช้, แฮชแท็กเป็นลิงก์ ประเภทของ $ทวีตอาจเป็นวัตถุ อาร์เรย์ หรือข้อความก็ได้ โดยการส่งวัตถุหรืออาร์เรย์วิธีการจะขยายลิงก์ (t.co) ด้วย
Twitter:: linkify ( $ tweet );
ที่ผ่านมา : แปลงวันที่ให้เป็นค่าความแตกต่าง (2 ชั่วโมงที่แล้ว)
Twitter:: ago ( $ timestamp );
LinkUser : สร้างลิงก์ไปยังผู้ใช้เฉพาะตามอ็อบเจ็กต์ผู้ใช้ (เช่น $twitter->ผู้ใช้) หรือ id/string
Twitter:: linkUser ( $ user );
LinkTweet : สร้างลิงก์ไปยังทวีตเฉพาะ
Twitter:: linkTweet ( $ tweet );
ส่งคืนคอลเลกชันของทวีตล่าสุดที่โพสต์โดยผู้ใช้ที่ระบุโดยพารามิเตอร์ screen_name หรือ user_id
Route:: get ( ' /userTimeline ' , function ()
{
return Twitter:: getUserTimeline ([ ' screen_name ' => ' thujohn ' , ' count ' => 20 , ' response_format ' => ' json ' ]);
});
ส่งคืนคอลเลกชันของทวีตและรีทวีตล่าสุดที่โพสต์โดยผู้ใช้ที่ตรวจสอบสิทธิ์และผู้ใช้ที่พวกเขาติดตาม
Route:: get ( ' /homeTimeline ' , function ()
{
return Twitter:: getHomeTimeline ([ ' count ' => 20 , ' response_format ' => ' json ' ]);
});
ส่งคืนการกล่าวถึง X ล่าสุด (ทวีตที่มี @screen_name ของผู้ใช้) สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์
Route:: get ( ' /mentionsTimeline ' , function ()
{
return Twitter:: getMentionsTimeline ([ ' count ' => 20 , ' response_format ' => ' json ' ]);
});
อัปเดตสถานะปัจจุบันของผู้ใช้ที่ตรวจสอบสิทธิ์หรือที่เรียกว่าทวีต
Route:: get ( ' /tweet ' , function ()
{
return Twitter:: postTweet ([ ' status ' => ' Laravel is beautiful ' , ' response_format ' => ' json ' ]);
});
อัพเดตสถานะปัจจุบันของผู้ใช้การตรวจสอบความถูกต้องด้วยสื่อ
Route:: get ( ' /tweetMedia ' , function ()
{
$ uploaded_media = Twitter:: uploadMedia ([ ' media ' => File:: get ( public_path ( ' filename.jpg ' ))]);
return Twitter:: postTweet ([ ' status ' => ' Laravel is beautiful ' , ' media_ids ' => $ uploaded_media -> media_id_string ]);
});
รับข้อมูลรับรองผู้ใช้ด้วยอีเมล
$credentials = Twitter::getCredentials([
'include_email' => 'true',
]);
ข้างต้น คุณต้องส่งค่าจริงเป็นสตริง ไม่ใช่ส่งเป็นบูลีน บูลีนจะถูกแปลงเป็น
1
ซึ่ง Twitter ไม่สนใจ
นอกจากนี้ยังถือว่าคุณตั้งค่าการอนุญาตของคุณอย่างถูกต้องกับ Twitter คุณต้องเลือก "รับอีเมลผู้ใช้" เมื่อคุณตั้งค่าแอป Twitter การส่งค่าเพียงอย่างเดียวจะไม่เพียงพอ
เข้าสู่ระบบด้วยทวิตเตอร์
use Atymic Twitter Facade Twitter ;
Route:: get ( ' twitter/login ' , [ ' as ' => ' twitter.login ' , static function () {
$ token = Twitter:: getRequestToken ( route ( ' twitter.callback ' ));
if ( isset ( $ token [ ' oauth_token_secret ' ])) {
$ url = Twitter:: getAuthenticateUrl ( $ token [ ' oauth_token ' ]);
Session:: put ( ' oauth_state ' , ' start ' );
Session:: put ( ' oauth_request_token ' , $ token [ ' oauth_token ' ]);
Session:: put ( ' oauth_request_token_secret ' , $ token [ ' oauth_token_secret ' ]);
return Redirect:: to ( $ url );
}
return Redirect:: route ( ' twitter.error ' );
}]);
Route:: get ( ' twitter/callback ' , [ ' as ' => ' twitter.callback ' , static function () {
// You should set this route on your Twitter Application settings as the callback
// https://apps.twitter.com/app/YOUR-APP-ID/settings
if (Session:: has ( ' oauth_request_token ' )) {
$ twitter = Twitter:: usingCredentials ( session ( ' oauth_request_token ' ), session ( ' oauth_request_token_secret ' ));
$ token = $ twitter -> getAccessToken ( request ( ' oauth_verifier ' ));
if (! isset ( $ token [ ' oauth_token_secret ' ])) {
return Redirect:: route ( ' twitter.error ' )-> with ( ' flash_error ' , ' We could not log you in on Twitter. ' );
}
// use new tokens
$ twitter = Twitter:: usingCredentials ( $ token [ ' oauth_token ' ], $ token [ ' oauth_token_secret ' ]);
$ credentials = $ twitter -> getCredentials ();
if ( is_object ( $ credentials ) && ! isset ( $ credentials -> error )) {
// $credentials contains the Twitter user object with all the info about the user.
// Add here your own user logic, store profiles, create new users on your tables...you name it!
// Typically you'll want to store at least, user id, name and access tokens
// if you want to be able to call the API on behalf of your users.
// This is also the moment to log in your users if you're using Laravel's Auth class
// Auth::login($user) should do the trick.
Session:: put ( ' access_token ' , $ token );
return Redirect:: to ( ' / ' )-> with ( ' notice ' , ' Congrats! You ' ve successfully signed in! ' );
}
}
return Redirect:: route ( ' twitter.error ' )
-> with ( ' error ' , ' Crab! Something went wrong while signing you up! ' );
}]);
Route:: get ( ' twitter/error ' , [ ' as ' => ' twitter.error ' , function () {
// Something went wrong, add your own error handling here
}]);
Route:: get ( ' twitter/logout ' , [ ' as ' => ' twitter.logout ' , function () {
Session:: forget ( ' access_token ' );
return Redirect:: to ( ' / ' )-> with ( ' notice ' , ' You ' ve successfully logged out! ' );
}]);
เว็บฮุค
หากต้องการตั้งค่า webhook ให้สำเร็จ คุณจะต้องส่งคืนแฮชโดยใช้โทเค็น CRC เพื่อตอบกลับจาก URL ของ webhook ของคุณ (ข้อมูลเพิ่มเติม)
Route:: post ( ' twitter/webhook ' , [ ' as ' => ' twitter.webhook ' , function (){
if ( request ()-> has ( ' crc_token ' ))
return response ()-> json ([ ' response_token ' => Twitter:: crcHash ( request ()-> crc_token )], 200 );
// Your webhook logic goes here
}]);
รับทวีตของผู้ใช้:
// ...
use Atymic Twitter Twitter as TwitterContract ;
use Illuminate Http JsonResponse ;
use Twitter ;
// ...
public function userTweets ( int $ userId ): JsonResponse
{
$ params = [
' place.fields ' => ' country,name ' ,
' tweet.fields ' => ' author_id,geo ' ,
' expansions ' => ' author_id,in_reply_to_user_id ' ,
TwitterContract:: KEY_RESPONSE_FORMAT => TwitterContract:: RESPONSE_FORMAT_JSON ,
];
return JsonResponse:: fromJsonString (Twitter:: userTweets ( $ userId , $ params ));
}
ค้นหาทวีต:
// ...
public function searchRecent ( string $ query ): JsonResponse
{
$ params = [
' place.fields ' => ' country,name ' ,
' tweet.fields ' => ' author_id,geo ' ,
' expansions ' => ' author_id,in_reply_to_user_id ' ,
TwitterContract:: KEY_RESPONSE_FORMAT => TwitterContract:: RESPONSE_FORMAT_JSON ,
];
return JsonResponse:: fromJsonString (Twitter:: searchRecent ( $ query , $ params ));
}
// ...
เนื่องจาก Twitter API v2 อยู่ในระหว่างการพัฒนา คุณอาจต้องเรียกใช้ตำแหน่งข้อมูลซึ่งเราไม่ได้ระบุไว้อย่างชัดเจนในส่วน "ฟังก์ชัน" ด้านบน นี่คือตัวอย่างวิธีที่คุณสามารถใช้แพ็คเกจนี้เพื่อโทรไปยังปลายทางที่เพิ่มใหม่ ที่นี่เราใช้จุดสิ้นสุด "การนับล่าสุด" ที่เพิ่มเข้ามาใหม่
// ...
$ querier = Atymic Twitter Facade Twitter:: forApiV2 ()
-> getQuerier ();
$ result = $ querier
-> withOAuth2Client ()
-> get ( ' tweets/counts/recent ' , [ ' query ' => ' foo ' ]);
// ...
ขั้นแรกให้เปิดใช้งานโหมดแก้ไขข้อบกพร่องในไฟล์ปรับแต่ง
จากนั้นคุณก็จะสามารถเข้าถึงเมธอด logs() ได้
try
{
$ response = Twitter:: getUserTimeline ([ ' count ' => 20 , ' response_format ' => ' array ' ]);
}
catch ( Exception $ e )
{
// dd(Twitter::error());
dd (Twitter:: logs ());
}
dd ( $ response );