My Fine Day My story in every day

4Feb/091

PHP – Flickr : Search Photo by email

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

PHP : 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
No user with the supplied email address was found.
100: Invalid API Key
The API key passed was not valid or has expired.
105: Service currently unavailable
The requested service is temporarily unavailable.
111: Format "xxx" not found
The requested response format was not found.
112: Method "xxx" not found
The requested method was not found.
114: Invalid SOAP envelope
The SOAP envelope send in the request could not be parsed.
115: Invalid XML-RPC Method Call
The XML-RPC request document could not be parsed.

หลังจากเราได้ 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

Tagged as: , , Leave a comment
Comments (1) Trackbacks (1)
  1. ทำให้ต้นเข้าใจอะไรเพิ่มขึ้นอีกเยอะเลยครับพี่กอล์ฟ ขอบคุณมากครับ


Leave a comment