PHP – Flickr : Search Photo by email
PHP - Flickr : Search Photo by email
Connect your website member to flickr

PHP : Flickr
กาลครั้งหนึ่งนานมาแล้ว มีผู้เขียนคนหนึ่ง
เคยลงบทความเรื่อง "PHP - Search image from Flickr.com"
นับจากวันนั้นจนถึงวันนี้ก็ผ่านไป 158 วันพอดิบพอดี
ถือเป็นฤกษ์งามยามดี เลขลงท้ายด้วย 8 จึงขอเปิดภาคต่อจากบทความ
ที่แล้วเลยแล้วกันครับ (555 เกี่ยวกันมั้ยเนี่ย แถจริงๆ (-_-)")
PHP - Flickr : Search Photo by email
ก่อนจะเริ่มหัวข้อใหม่ ขอเกริ่นนิดนึงนะครับสำหรับผู้ที่ไม่ได้อ่านบทความในตอนที่แล้ว
เกริ่นนำ
ในตอนที่แล้วเราได้คุยกันไปเรื่องการเขียนโปรแกรมต่อกับ Flickr API
ตั้งแต่เริ่มขอ API Key จนถึงการเขียนโปรแกรมสำหรับ ค้นหารูปจากเว็บ
flickr.com โดยสามารถกำหนด keyword และจำนวนรูปที่ต้องการแสดงต่อ 1 หน้า
ได้ สำหรับรายละเอียดวิธีการทำต่างๆ นั้นดูได้จากหัวข้อเก่าตามลิงก์นี้เลยนะครับ
"PHP - Search image from Flickr.com" (^_^)
เริ่มหัวข้อใหม่
มาเริ่มหัวข้อใหม่กันเลยนะครับ หลังจากลองศึกษา Flickr API ได้สักพัก
ก็ลองนึกเล่นๆ ดูว่า เราจะสามารถนำ Method ต่างๆ ของ Flickr API มาผนวกใช้
กับเว็บไซต์ต่างๆ ของเราได้อย่างไร ก็ไล่ดู Method ไปเรื่อยๆ ก็มาเจอ Method นึง
ที่ชื่อว่า "flickr.people.findByEmail" โดย Method นี้สามารถให้เราค้นหา User ID
จาก Email ได้ ว้าววว!! เกิดปิ๊งไอเดียขึ้นมาทันที แบบนี้สบายเลยครับ เข้าทางเลย
เพียงแค่คุณมีการเก็บ email ของสมาชิกอยู่ คุณสามารถเชื่อมต่อสมาชิกของคุณ
เข้ากับเว็บ flickr และใช้ Method อื่นๆ ที่เหลืออีกเกือบ 100 Method ได้เลยครับ
ส่วนใครจะเอาไปใช้งานยังไงก็คิดกันเอาเองนะครับ (^0^)Y
วันนี้ผมขอยกตัวอย่างการนำ User ID ไปใช้งาน 1 ตัวอย่างนะครับ
นั่นก็คือการดึงรูปทั้งหมดใน Flickr ของ User ที่เราระบุขึ้นมานะครับ
เรียกใช้ Method "flickr.people.findByEmail"
ก่อนอื่นเราต้องทำการหา User ID ก่อน โดยเราจะหาจาก Email นะคร้บ
วิธีการก็คือเรียกใช้ Method flickr.people.findByEmail
เรียก Method ผ่าน url นี้ครับ
http://api.flickr.com/services/rest/?method=flickr.people.findByEmail
โดยต้องส่ง Argument ต่างๆ ผ่าน querystring ตามนี้นะครับ
- api_key คลิกที่นี่เพื่อดุวิธีการขอ API KEY
- find_email = email ที่เราต้องการหา
ค่า Response จะส่งกลับมาในรูปแบบ XML ตามนี้นะครับ
<user nsid="xxxxxxxx">
<username>xxxxxx</username>
</user>
โดยถ้าค้นหาแล้วไม่พบ จะมี error code ระบุไว้นะครับ ความหมาย Error code
ก็ตามนี้เลยครับ
1: User not found 100: Invalid API Key 105: Service currently unavailable 111: Format "xxx" not found 112: Method "xxx" not found 114: Invalid SOAP envelope 115: Invalid XML-RPC Method Call หลังจากเราได้ ID มาแล้วเราจะทำการขั้นต่อไปคือ ดึงรูปทั้งหมดใน Flickr ของ User ID
นี้ขึ้นมาแสดงได้เลยครับ โดยวิธีการนั้นเราจะเรียกผ่าน Mehod
"flickr.people.getPublicPhotos"
เรียกใช้ Method "flickr.people.getPublicPhotos"
Mehod นี้จะดึงรูปทั้งหมดของ User ที่เรากำหนดขึ้นมาให้ครับ
เรียก Method ผ่าน url นี้ครับ
http://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos
โดยต้องส่ง Argument ต่างๆ ผ่าน querystring ตามนี้นะครับ (เฉพาะที่จำเป็นนะครับ)
- api_key คลิกที่นี่เพื่อดุวิธีการขอ API KEY
- user_id = User ID ที่ได้มาจากขั้นตอนที่แล้ว
ค่า Response จะส่งกลับมาในรูปแบบ XML ตามนี้นะครับ
<photos page="2" pages="89" perpage="10" total="881">
<photo id="2636" owner="47058503995@N01"
secret="a123456" server="2" title="test_04" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2635" owner="47058503995@N01" secret="b123456" server="2" title="test_03" ispublic="0" isfriend="1" isfamily="1" />
</photos>
ความหมายต่างๆ ของค่า response เหมือนกับตอนที่แล้วเรื่องการ Search Photo
โดย Keyword นะครับ ผมขออนญาติไม่อธิบายซ้ำนะครับ รบกวนดูได้จากหัวข้อ
ที่แล้วนะครับ "PHP - Search image from Flickr.com"
Example
เข้าไปดูตัวอย่างกันที่ลิงก์นี้เลยนะครับ (^_^)Y
Flickr : Search Photo by email
Source Code
download code ตัวอย่างคลิกทีนี่ครับ flickr_search.rar
ก็จบไปแล้วนะครับสำหรับการเรียกใช้ Flickr API ทำการค้นหารูปจากอีเมล์ที่กำหนด
หวังว่าจะมีประโยชน์กับเพื่อนๆ พี่ๆ น้องๆ ที่หลงเข้ามาอ่านนะครับ
ขอบคุณมากครับ
Relate Topic :
- PHP - Search image from Flickr.com
December 17th, 2009 - 21:05
ทำให้ต้นเข้าใจอะไรเพิ่มขึ้นอีกเยอะเลยครับพี่กอล์ฟ ขอบคุณมากครับ