ฉันเพิ่งบินไปแอลเอและเข้าร่วมเวิร์คช็อป GraphQL ที่ Ticketmaster ซึ่งทุกคนสร้าง JavaScript GraphQL API ทุกคนติดตามโดยใช้ Launchpad ซึ่งเป็นเครื่องมือที่ให้คุณทดลองกับเซิร์ฟเวอร์ GraphQL ในเบราว์เซอร์ของคุณ โชคดีที่เวิร์กช็อปได้รับการบันทึกเอาไว้ คุณจึงสามารถลองทำได้เช่นกัน!
นี่คือสิ่งที่คุณจะได้เรียนรู้:
วิดีโออ้างอิงถึงเอกสาร Quip ที่ฉันเตรียมไว้ แต่เนื้อหาทั้งหมดนั้นได้รับการทำซ้ำที่นี่ใน README นี้ ฉันหวังว่าจะบันทึกเวอร์ชันที่ได้รับการปรับให้เหมาะกับการใช้อินเทอร์เน็ตมากขึ้นอีกครั้งในเร็วๆ นี้ แต่ใครจะรู้ว่าจะต้องใช้เวลานานเท่าใดก่อนที่ฉันจะมีเวลา ฉันก็เลยคิดว่าจะเขียนเรื่องนี้ไว้ก่อน ไปข้างหน้าและดูมัน!
นี่คือบางสิ่งที่คุณต้องทำทันที:
และรหัสสถานที่ท่องเที่ยว Ticketmaster API:
K8vZ9171C-f
K8vZ9174v57
K8vZ9171CVV
นี่คือแบบสอบถามที่เราต้องการที่จะดึงข้อมูลจาก GraphQL API ใหม่ของเรา:
{
myFavoriteArtists {
id ,
name
image
twitterUrl
events {
name
image
startDateTime
}
}
}
นี่คือสคีมาที่จะตอบสนองการค้นหาข้างต้น:
type Query {
myFavoriteArtists : [ Artist ]
}
type Artist {
id : ID
name : String
image : String
twitterUrl : String
events : [ Event ]
}
type Event {
name : String
image : String
startDateTime : String
}
คลิกลิงก์เหล่านี้เพื่อดู API ที่เสร็จสมบูรณ์ใน Launchpad:
นี่คือจุดสิ้นสุด REST ใน Ticketmaster API ที่เราต้องการดึงข้อมูล
URL
// Look up artist details
`https://app.ticketmaster.com/discovery/v2/attractions/ ${ id } .json?apikey= ${ context . secrets . TM_API_KEY } `
// Look up events for an artist
`https://app.ticketmaster.com/discovery/v2/events.json?size=10&apikey= ${ context . secrets . TM_API_KEY } &attractionId= ${ id } `
รหัส
// Artist details
return fetch ( `https://app.ticketmaster.com/discovery/v2/attractions/ ${ id } .json?apikey= ${ context . secrets . TM_API_KEY } ` )
. then ( res => res . json ( ) )
// Events
return fetch ( `https://app.ticketmaster.com/discovery/v2/events.json?size=10&apikey= ${ context . secrets . TM_API_KEY } &attractionId= ${ id } ` )
. then ( res => res . json ( ) )
เอกสารรายละเอียดจาก Ticketmaster API: http://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/#attraction-details-v2
หากคุณสนใจเข้าร่วมเวิร์กช็อป GraphQL เช่นนี้ที่บริษัทของคุณ อย่าลังเลที่จะส่งอีเมลถึงฉันที่ [email protected]