分類
程式技術

YQL for flickr的問題

之前寫了一篇利用 YQL 查詢 setid 取出 flickr 中的照片功能: 利用YQL抓出Flickr相簿中的照片url

不過最近似乎是失效了, 檢查一下, 發現 YQL 只會回傳 flickr 的 api url, 而不主動回傳 photos 的內容, 訪問該 flickr api url:

http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&photoset_id={set_id}&page=1&per_page=10

會回傳:

<rsp stat=”fail”>
<err code=”100″ msg=”Invalid API Key (Key has invalid format)”/>
</rsp>

所以只好來去申請 flickr 的 api key, 才能查詢了. 不過這樣就不用透過 YQL 了, 直接向 flickr api 取出內容即可. 申請的網址在這裡: http://www.flickr.com/services/api/keys/ , (有分兩種, free 及 commercial 的, 請依開發用途申請即可) 申請好了之後, 可以直接從該 api 服務介紹來查找這個由 setid 找出照片服務, 不過已經知道由 YQL 給的 flickr api url 了, 所以再掛上 api key 就可以順利輸出結果了, 如下:

http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key={api_key}&photoset_id={set_id}&format=rest

輸出結果如下:

<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="ok">
  <photoset id="72157600079438372" primary="460118008" owner="owner_id" ownername="owner_name" page="1" per_page="500" perpage="500" pages="1" total="18">
    <photo id="460118008" secret="4d856aaa72" server="239" farm="1" title="DSC_3989" isprimary="1" />
    <photo id="460125135" secret="15a3d24484" server="208" farm="1" title="DSC_3987" isprimary="0" />
    <photo id="460117456" secret="76bdfd928c" server="191" farm="1" title="DSC_3986" isprimary="0" />
    <photo id="460117112" secret="515535f02e" server="253" farm="1" title="DSC_3983" isprimary="0" />
    <photo id="460116928" secret="68286fc46a" server="200" farm="1" title="DSC_3981" isprimary="0" />
    <photo id="460116620" secret="4245ef4c5a" server="183" farm="1" title="DSC_3980" isprimary="0" />
    <photo id="460123637" secret="68351dfe14" server="236" farm="1" title="DSC_3963" isprimary="0" />
    <photo id="460123365" secret="80edceee74" server="243" farm="1" title="DSC_3961" isprimary="0" />
    <photo id="460115832" secret="80b8d482bf" server="246" farm="1" title="DSC_3958" isprimary="0" />
    <photo id="460122569" secret="2ee7c9e00e" server="242" farm="1" title="DSC_3954" isprimary="0" />
    <photo id="460122271" secret="074ba7710c" server="173" farm="1" title="DSC_3952" isprimary="0" />
    <photo id="460121955" secret="88a7b286b8" server="235" farm="1" title="DSC_3950" isprimary="0" />
    <photo id="460121519" secret="a5c2250e09" server="241" farm="1" title="DSC_3948" isprimary="0" />
    <photo id="460114100" secret="7dd0300dd6" server="199" farm="1" title="DSC_4000" isprimary="0" />
    <photo id="460120927" secret="c07c9eab50" server="189" farm="1" title="DSC_3997" isprimary="0" />
    <photo id="460120523" secret="5c00300368" server="191" farm="1" title="DSC_3995" isprimary="0" />
    <photo id="460120281" secret="affb220ee8" server="218" farm="1" title="DSC_3992" isprimary="0" />
    <photo id="460112878" secret="fcff8d8665" server="246" farm="1" title="DSC_3991" isprimary="0" />
  </photoset>
</rsp>

如此一來, 又能順利正常工作啦, 網址不變, 仍在這裡: http://sample.diary.tw/flickrset/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *