flickrAPIでの画像取得について

このQ&Aのポイント
  • flickrAPIを用いて画像を取得する際にエラーが発生し、取得できない状況になっています。
  • エラーメッセージによると、アクセスしたURLでXMLファイルをロードできないという警告が出ています。
  • また、同じURLにアクセスするとXMLのデータが正常に表示されています。エラーを修正する方法を教えてください。
回答を見る
  • ベストアンサー

flickrAPIでの画像取得について

下のphpスクリプトでflickrAPIを用いて画像を取得しようとしたらエラーが起こって取得できません。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>flickr API サンプル</title> </head> <body> <h1>flickr API サンプル</h1> <?php set_time_limit(60); //flickrから写真を検索してimgタグを返す関数 function search_flickr($keyword,$limit){ //取得したAPIキーを設定 $api_key = '(僕のAPIキー)'; //メソッドに写真検索を設定 $method = 'flickr.photos.search'; //検索キーワードをURLエンコードして設定 $text = urlencode($keyword); //人気の高い順に検索 $sort = "interestingness-desc"; //取得件数を設定 $per_page = $limit; //URLを生成 $url = 'http://www.flickr.com/services/rest/?'. 'method='.$method. '&api_key='.$api_key. '&text='.$text. '&sort='.$sort. '&per_page='.$per_page; //取得したXMLファイルをパースし、オブジェクトに代入 $data = simplexml_load_file($url) or die("XMLパースエラー"); //表示写真サイズをmサイズに設定 $size = "_m"; //変数初期化 $ret = ""; //取得できた写真の数だけループ処理 foreach($data->photos as $photos){ foreach($photos->photo as $photo){ $ret .= '<a href="http://www.flickr.com/photos/'.$photo['owner'].'/'.$photo['id'].'/">'; $ret .= '<img src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].$size.'.jpg" alt="'.$photo['title'].'">'."\n"; $ret .= '</a>'; } } return $ret; } //検索ワード $keyword = "sea"; //取得数 $limit = 10; //写真を検索して表示 echo search_flickr($keyword,$limit); ?> <p>powerd by <a href="http://www.flickr.com/services/api/">Flickr Services</a></p> </body> </html> 表示されたページはこうなりました。 flickr API サンプル Warning: simplexml_load_file(http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10): in C:\xampp\htdocs\flickrAPI.php on line 38 Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10" in C:\xampp\htdocs\flickrAPI.php on line 38 XMLパースエラー そこでhttp://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10にアクセスすると次のようなXMLが表示されました。 <?xml version="1.0" encoding="UTF-8"?> -<rsp stat="ok">-<photos total="9663727" perpage="10" pages="966373" page="1"><photo title="row" isfamily="0" isfriend="0" ispublic="1" farm="1" server="55" secret="86cffac801" owner="89972557@N00" id="148800272"/><photo title="Live" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7381" secret="d5af918c8c" owner="36621592@N06" id="9017742627"/><photo title="In search of the pot of gold at the end of the Rainbow..." isfamily="0" isfriend="0" ispublic="1" farm="4" server="3717" secret="bf47d94889" owner="56936646@N07" id="8851282635"/><photo title="Melting ice 130424 F368" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7404" secret="907a7c260e" owner="44855005@N04" id="8771141696"/><photo title="Coachella Valley" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7310" secret="5d47f6cb45" owner="53760536@N07" id="8729902328"/><photo title="End of a summer day" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7434" secret="46a80bb865" owner="72179079@N00" id="8722395239"/><photo title="angles of sea" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8253" secret="32fc571841" owner="39638504@N07" id="8696358702"/><photo title="Summer sunset ( view larger size: please press "L")" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8261" secret="21c4642b39" owner="72179079@N00" id="8688567245"/><photo title="Smoo Cave II" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8403" secret="b6d637d603" owner="8407953@N03" id="8672345286"/><photo title="In The Middle of Nowhere" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8533" secret="1ba0e8574c" owner="8407953@N03" id="8666924709"/></photos></rsp> どうすればエラーが直るでしょうか?

  • PHP
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.3

悪かったのは入力データのようです。 何らかの原因でデータが壊れているので、Tidyを使って修復すれば正常に読み込めます。 http://codepad.viper-7.com/OW2xCH ※Tidyはphp.iniで「php_tidy.dll」を有効にする必要があります 壊れた原因はよくわかりませんが・・・ Flickrのドキュメンテーションを見ても、あのような形のレスポンスは見当たりませんでした。 (XMLで要素の間にハイフンが紛れてることなんて本来あってはいけない)

toyama-ooo
質問者

お礼

解決しました。 本当にありがとうございました。

その他の回答 (2)

noname#244856
noname#244856
回答No.2

$format = '<a href="http://www.flickr.com/photos/%s/%s/"><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL; ダブルクオート1カ所抜けてました、失礼しました

toyama-ooo
質問者

補足

回答ありがとうございました。 次のようにスクリプトを書き直したらエラーと表示されます。 <?php set_time_limit(60); function search_flickr($keyword, $limit, $apikey) { $params = array( 'method' => 'flickr.photos.search', 'api_key' => $apikey, 'text' => $keyword, 'sort' => 'interestingness-desc', 'per_page' => $limit, ); $query = http_build_query($params, '', '&'); $url = 'http://www.flickr.com/services/rest/?' . $query; $data = @simplexml_load_string(@file_get_contents($url)); if ($data === false) { return 'エラー' . PHP_EOL; } $ret = ''; $format = '<a href="http://www.flickr.com/photos/%s/%s/"><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL; foreach ($data->photos->photo as $p) { $ret .= sprintf($format, $p['owner'], $p['id'], $p['farm'], $p['server'], $p['id'], $p['secret'], $p['title']); } return $ret; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>flickr API サンプル</title> </head> <body> <h1>flickr API サンプル</h1> <p> <?php echo search_flickr('sea', 10, '(僕のAPIキー)') ?> </p> <p>powerd by <a href="http://www.flickr.com/services/api/">Flickr Services</a></p> </body> </html>

noname#244856
noname#244856
回答No.1

<?php set_time_limit(60); function search_flickr($keyword, $limit) { $params = array( 'method' => 'flickr.photos.search', 'api_key' => 'MY API KEY', 'text' => $keyword, 'sort' => 'interestingness-desc', 'per_page' => $limit, ); $query = http_build_query($params, '', '&'); $url = 'http://www.flickr.com/services/rest/?' . $query; $data = @simplexml_load_string(@file_get_contents($url)); if ($data === false) { return 'エラー' . PHP_EOL; } $ret = ''; $format = '<a href="http://www.flickr.com/photos/%s/%s/><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL; foreach ($data->photos->photo as $p) { $ret .= sprintf($format, $p['owner'], $p['id'], $p['farm'], $p['server'], $p['id'], $p['secret'], $p['title']); } return $ret; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>flickr API サンプル</title> </head> <body> <h1>flickr API サンプル</h1> <p> <?php echo search_flickr('sea', 10) ?> </p> <p>powerd by <a href="http://www.flickr.com/services/api/">Flickr Services</a></p> </body> </html> 参考 http://mbnk.blog120.fc2.com/blog-entry-122.html デバッグしてないので脱字・誤字などあったらすみません。

関連するQ&A

  • flickrでの画像を取得について

    次の関数はflickr.interesting.getListでflickrから人気の高い画像を取得する関数ですが、パラメータのdateを指定すると Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\flickr-interesting.php on line 34 と表示されます。 date => 2013-07-24,の行を消すと画像が正常に表示されます。 dateを指定するにはどうすればいいでしょうか? function search_photos($per_page, $page) { $proxy = array( "http" => array( "proxy" => "tcp://大学のIPアドレス", 'request_fulluri' => true, ), ); $proxy_context = stream_context_create($proxy); $params = array( 'method' => 'flickr.interestingness.getList', 'api_key' => API_KEY, 'date' => 2013-07-24, 'per_page' => $per_page, 'page' => $page ); $pictureSize = "b"; $query = http_build_query($params, '', '&'); $url = 'http://www.flickr.com/services/rest/?' . $query; //$data = @simplexml_load_string(@file_get_contents($url)); $data = @simplexml_load_string(@file_get_contents($url, false, $proxy_context)); if ($data === false) { return 'エラー' . PHP_EOL; } $ret = ''; $format = '<a href="http://www.flickr.com/photos/%s/%s/"><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL; foreach ($data->photos->photo as $p) { $ret .= sprintf($format, $p['owner'], $p['id'], $p['farm'], $p['server'], $p['id'], $p['secret'], $p['title'], $pictureSize); } return $ret; }

    • ベストアンサー
    • PHP
  • phpを2つ書くと表示されない

    こちらのサイトを見てflickrの写真を取得することができました。 divタグで区切って2段にして上は猫の写真、下は犬の写真を表示させたいのですが犬の写真用のphpのコードを書くと1段目の猫の画像すら表示されなくなります。 一体なぜでしょうか。 <div id="cats"> <?php //flickrから写真を検索してimgタグを返す関数 function search_flickr($keyword,$limit){ //取得したAPIキーを設定 $api_key = '86f08c1dec4643d02154d65ed******'; //メソッドに写真検索を設定 $method = 'flickr.photos.search'; //検索キーワードをURLエンコードして設定 $text = urlencode($keyword); //人気の高い順に検索 $sort = "interestingness-desc"; //取得件数を設定 $per_page = $limit; //URLを生成 $url = 'https://api.flickr.com/services/rest/?'. 'method='.$method. '&api_key='.$api_key. '&text='.$text. '&sort='.$sort. '&per_page='.$per_page; //取得したXMLファイルをパースし、オブジェクトに代入 $data = simplexml_load_file($url) or die("XMLパースエラー"); //表示写真サイズをmサイズに設定 $size = "_m"; //変数初期化 $ret = ""; //取得できた写真の数だけループ処理 foreach($data->photos as $photos){ foreach($photos->photo as $photo){ $ret .= '<a href="http://www.flickr.com/photos/'.$photo['owner'].'/'.$photo['id'].'/">'; $ret .= '<img src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].$size.'.jpg" alt="'.$photo['title'].'">'."\n"; $ret .= '</a>'; } } return $ret; } //検索ワード $keyword = "Britishmuseum"; //取得数 $limit = 10; //写真を検索して表示 echo search_flickr($keyword,$limit); ?> </div> <div id="dogs"> <?php //flickrから写真を検索してimgタグを返す関数 function search_flickr($keyword,$limit){ //取得したAPIキーを設定 $api_key = '86f08c1dec4643d02154d65ed59915c0'; //メソッドに写真検索を設定 $method = 'flickr.photos.search'; //検索キーワードをURLエンコードして設定 $text = urlencode($keyword); //人気の高い順に検索 $sort = "interestingness-desc"; //取得件数を設定 $per_page = $limit; //URLを生成 $url = 'https://api.flickr.com/services/rest/?'. 'method='.$method. '&api_key='.$api_key. '&text='.$text. '&sort='.$sort. '&per_page='.$per_page; //取得したXMLファイルをパースし、オブジェクトに代入 $data = simplexml_load_file($url) or die("XMLパースエラー"); //表示写真サイズをmサイズに設定 $size = "_m"; //変数初期化 $ret = ""; //取得できた写真の数だけループ処理 foreach($data->photos as $photos){ foreach($photos->photo as $photo){ $ret .= '<a href="http://www.flickr.com/photos/'.$photo['owner'].'/'.$photo['id'].'/">'; $ret .= '<img src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].$size.'.jpg" alt="'.$photo['title'].'">'."\n"; $ret .= '</a>'; } } return $ret; } //検索ワード $keyword = "Britishmuseum"; //取得数 $limit = 10; //写真を検索して表示 echo search_flickr($keyword,$limit); ?> </div>

    • ベストアンサー
    • PHP
  • flickrから画像を取得するプログラムが動かない。

    こんばんわ。 flickrという画像サイトから画像を取得するという方法を試して見たのですが、うまく動きませんでした。何も表示されませんでした。 flickrのキーは取得してあり、キーも、入力した状態です。 レンタルサーバーにて実行しています。 <?php define (APIKEY , "[取得したキー]"); $searchWord = "猫"; //検索したい画像のキーワード $pictureSize = "t"; //画像サイズ $url = "http://www.flickr.com/services/rest/?" . "method=flickr.photos.search" . "&format=rest" . "&api_key=".APIKEY . "&per_page=20" . "&license=1,2,3,4,5,6" . "&extras=owner_name" . "&text=".urlencode($searchWord); $xml = simplexml_load_file($url); //print_r($xml); $iLoop = 0; echo "<table>"; foreach($xml->photos->photo as $photoValue){ if( $iLoop == 0){ echo "<tr><td>"; } else { echo "<td>"; } $farmId = $photoValue['farm']; $serverId = $photoValue['server']; $photoId = $photoValue['id']; $secret = $photoValue['secret']; $owner = $photoValue['owner']; $ownername = $photoValue['ownername']; //改行はレイアウトのため echo "<a href=\"http://www.flickr.com/photos/{$owner}/{$photoId}/\"> <img src=\"http://farm{$farmId}.static.flickr.com/{$serverId}/ {$photoId}_{$secret}_{$pictureSize}.jpg\" /></a><br>"; echo "author by <a href=\"http://www.flickr.com/photos/{$owner}/\"> {$ownername}</a>"; $iLoop++; if( $iLoop == 4){ echo "</td></tr>"; $iLoop = 0; } else { echo "</td>"; } } if( $iLoop != 0 ){ echo "</tr>"; } echo "</table>"; ?> 掲載していたHPはこちら http://webservice.kabufuru.net/flickr/photosPhp.php

    • 締切済み
    • PHP
  • flickrのAPIを用い、任意の写真を表示する方法

    flickrのAPIを用いて、個人のページに、指定した写真を表示させたいと思っています。 こちらのページを、参考にして(そのままのソースで)、flickrにアップロードされた最新の写真の中から、「HDR」というタグが付いた写真は表示させられるようになりました。 http://itpro.nikkeibp.co.jp/article/COLUMN/20061101/252356/?ST=swd-tech これを、写真を“撮影した時の時間”で表示させたいと思っています。 たとえば、2004年1月16日に撮った写真を表示、といった具合です。 flickrは、HPを見ると、taken on~ と写真を撮った時のデータも表示されており、撮影した時間もAPIから取ってこれると思うのですが、以下のソースをどのように変えたらよいでしょうか。 よろしくお願いいたします。 flickr-search.js -------------------------- // 画像検索を行う関数 function photo_search ( param ) { // APIリクエストパラメタの設定 param.api_key = 'APIキー'; param.method = 'flickr.photos.search'; param.per_page = 9; param.sort = 'date-posted-desc'; param.format = 'json'; param.jsoncallback = 'jsonFlickrApi'; // APIリクエストURLの生成(GETメソッド) var url = 'http://www.flickr.com/services/rest/?'+ obj2query( param ); // script 要素の発行 var script = document.createElement( 'script' ); script.type = 'text/javascript'; script.src = url; document.body.appendChild( script ); }; // 現在の表示内容をクリアする function remove_children ( id ) { var div = document.getElementById( id ); while ( div.firstChild ) { div.removeChild( div.lastChild ); } }; // オブジェクトからクエリー文字列を生成する関数 function obj2query ( obj ) { var list = []; for( var key in obj ) { var k = encodeURIComponent(key); var v = encodeURIComponent(obj[key]); list[list.length] = k+'='+v; } var query = list.join( '&' ); return query; } // オブジェクトからクエリー文字列を生成する関数 function obj2query ( obj ) { var list2 = []; for( var key in obj ) { var k = encodeURIComponent(key); var v = encodeURIComponent(obj[key]); list2[list2.length] = k+'='+v; } var query = list2.join( '&' ); return query; } // Flickr検索終了後のコールバック関数 function jsonFlickrApi ( data ) { // データが取得できているかチェック if ( ! data ) return; if ( ! data.photos ) return; var list = data.photos.photo; if ( ! list ) return; if ( ! list.length ) return; // 現在の表示内容(Loading...)をクリアする remove_children( 'photos_here' ); // 各画像を表示する var div = document.getElementById( 'photos_here' ); for( var i=0; i<list.length; i++ ) { var photo = list[i]; // a 要素の生成 var atag = document.createElement( 'a' ); atag.href = 'http://www.flickr.com/photos/'+ photo.owner+'/'+photo.id+'/'; // img 要素の生成 var img = document.createElement( 'img' ); img.src = 'http://static.flickr.com/'+photo.server+ '/'+photo.id+'_'+photo.secret+'_s.jpg'; img.style.border = '0'; atag.appendChild( img ); div.appendChild( atag ); } } search-hdr.html ------------------------------ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Flickr APIによる画像検索 (text)</title> <script type="text/javascript" src="flickr-search.js"></script> <script type="text/javascript"><!-- window.onload = function () { photo_search({ text: 'HDR' }); } --></script> </head> <body> <hr> <div id="photos_here">Loading...</div> <hr> </body> </html>

  • Flickrの写真に対するコメント取得

    Flickrに投稿された写真のコメントをAPIを使って取得しようと考えています。 写真の取得はこのサイトを参考にしてできましたが、コメントの取得がうまくいきません。 コードはこのサイトに書いてある通りで変えていませんが、どの部分を変更すればうまくコメント取得はできるのでしょうか。 検索結果をJSONに変換することはできましたが、コメントを画面に出力することができません。 わかるかたお願いします。 コードはここに載せておきます。 <?php //ライブラリを読み込む require_once 'phpflickr-master/phpFlickr.php' ; // Consumer Key $app_key = '' ; // Consumer Secret $app_secret = '' ; // インスタンスを作成する $flickr = new phpFlickr( $app_key , $app_secret ) ; //オプションの設定 $option = array( 'tags' => 'Tokyo, Japan', 'per_page' => 50 , // 取得件数 'extras' => 'description' , // 画像サイズ 'safe_search' => 3 , // セーフサーチ 'sort' => 'interestingness-desc', ) ; // GETメソッドで指定がある場合 foreach( array( 'tag' , 'per_page' , 'woe_id' , 'license' , 'sort' , 'bbox' ) as $val ) { if( isset( $_GET[ $val ] ) && $_GET[ $val ] != '' ) { $option[ $val ] = $_GET[ $val ] ; } } // 検索を実行し、取得したデータを[$result]に代入する $result = $flickr->photos_search( $option ) ; // [$result]をJSONに変換する $json = json_encode( $result ); // JSONをオブジェクト型に変換する $obj = json_decode( $json ) ; // HTML用 $html = '' ; // 写真検索を実行する $html .= '<h2>条件を指定する</h2>' ; $html .= '<p>条件を指定して、写真を検索してみて下さい。</p>' ; $html .= '<form>' ; $html .= '<p style="font-size:.9em; font-weight:700;"><label for="text">検索キーワード (text)</label></p>' ; $html .= '<p style="margin:0 0 1em;"><input id="text" name="text" value="寺" placeholder="寺"></p>' ; $html .= '<p style="font-size:.9em; font-weight:700;"><label for="bbox">位置範囲 (bbox)</label></p>' ; $html .= '<p style="margin:0 0 1em;"><input id="bbox" name="bbox" list="bbox-data" placeholder=""></p>' ; $html .= '<datalist id="bbox-data">' ; $html .= '<option value="139.74136476171873,35.67800739824976,139.78565339697263,35.71146639304908">' ; $html .= '</datalist>' ; $html .= '<p><button>検索する</button></p>' ; $html .= '</form>' ; // 実行結果の表示 $html .= '<h2>実行結果</h2>' ; $html .= '<p>リクエストの実行結果です。</p>' ; // リスト形式で表示する $html .= '<ul style="margin:2em 0 0; padding:0; overflow:hidden; list-style-type:none; text-align:center;">' ; // ループ処理 foreach( $obj->photo as $photo ) { // データが揃っていない場合はスキップ if( !isset($photo->url_q) || !isset($photo->width_q) || !isset($photo->height_q) ) { continue ; } // データの整理 $t_src = $photo->url_q ; // サムネイルの画像ファイルのURL $t_width = $photo->width_q ; // サムネイルの横幅 $t_height = $photo->height_q ; // サムネイルの縦幅 $o_src = ( isset($photo->url_c) ) ? $photo->url_c : $photo->url_q ; // 画像ファイルのURL // 出力する $html .= '<li style="float:left; margin:1px; padding:0; overflow:hidden; height:112.5px">' ; $html .= '<a href="' . $o_src . '" target="_blank">' ; $html .= '<img src="' . $t_src . '" width="' . $t_width . '" height="' . $t_height . '" style="max-width:100%; height:auto">' ; $html .= '</a>' ; $html .= '</li>' ; } $html .= '</ul>' ; // 取得したデータ $html .= '<h2>取得したデータ</h2>' ; $html .= '<p>下記のデータを取得できました。</p>' ; $html .= '<h3>JSONに変換後</h3>' ; $html .= '<p><textarea rows="8">' . $json . '</textarea></p>' ; ?><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="robots" content="noindex,nofollow"> <link rel="stylesheet" type="text/css" href="style.css"> <!-- ビューポートの設定 --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flickr APIで写真を検索するサンプルデモ</title> </head> <body> <div id="main"> <p>aaa</p> </div> <div id="main2"> <?php echo $html ?> <p style="text-align:center"><a href="https://syncer.jp/flickr-api-matome">配布元: Syncer</a></p> </div> </body> </html>

    • 締切済み
    • PHP
  • Firefoxで何もしてないのにjavascriptエラーがたまっていきます。

    Firefox(1.5.0.8、mac)でページを見ていると、何秒かすると何もしてないのにjavascriptエラーがたまっていきます。javascriptコンソールを見ると、 エラー: uncaught exception: Permission denied to get property Window.writeDebug エラー: unterminated string literal ソースファイル: javascript:if (typeof writeDebug == 'function') writeDebug('The response to a call to flickr.photos.badge.forUser was ok: <br>&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br>&lt;rsp stat="ok"&gt;<br>&lt;photos total="24"&gt;<br>&lt;photo id="292213265" owner="62454257@N00" secret="54f0f3a209" server="108" farm="1" title="061102_2215~001.jpg" ispublic="1" isfriend="0" isfamily="0" /&gt;<br>以下略') 行: 1 みたいなものが出ているようですがこれは何なんでしょうか?? 「The response to a call to flickr.photos.badge.forUser was ok:」 とあるのでflickerに何かするものなのかもしれないですが、そういったプラグインなどは入れてません。これはfirefoxのバグでしょうか?それとも何かスパイウェアに感染したんでしょうか?

  • flickrやフォト蔵、Yahoo!画像検索のAPIを使ってメガネ男子

    flickrやフォト蔵、Yahoo!画像検索のAPIを使ってメガネ男子の写真だけひたすら集めてくるサイトを作りたいと思ってます。 APIのサンプルコードがあるのはわかるのですが、具体的に何をしたらいいのかがわかりません。 ドメインはすぐに作れます。 サーバーもレンタルサーバーと共用サーバー持ってます。 PHP初心者なので、まずどこから始めたらいいのか教えてもらいたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【galleriffic(getJSON)でpicasaの画像を呼び出

    【galleriffic(getJSON)でpicasaの画像を呼び出す】 以下は「galleriffic」というスクリプトをカスタマイズしたもので、 Flickrの画像を呼び出すことが出来るjQueryのギャラリーです。 http://www.myphpetc.com/2010/01/jquery-gallerific-gallery-with-flickr.html これを、picasaからの画像を呼び出せるようにしたいのですが 難しいでしょうか? DLしたexample-2.htmlの53行目の $.getJSON("http://api.flickr.com/services/feeds/groups_pool.gne?id=32142572@N00&lang=en-us&format=json&jsoncallback=?", function(data){ の部分にpicasaのJSONフィードのURLを入れてみましたが、やはりそのままでは 表示されませんでした…。 一体どこを変えたら良いのでしょうか? 丸投げで大変恐れ入りますが、ヒントを頂けましたら幸いです。

  • googleMapについて

    現在フォトビューワーを作っております。 フリッカーからジオタグ付きの画像を取得し、最新から15枚をサムネイル表示。 サムネイルをクリックすると拡大画像が表示され、拡大画像をクリックすると、 ジオタグのグーグルマップが表示されるというものです。 問題は、拡大画像をクリックした際、マップの一部分が灰色になり、まともに表示されない場合があるのです。 ページを開く→サムネイルクリック→拡大画像クリック→残念マップ。 残念マップ→サムネイルクリック→拡大画像クリック→正常マップ。 一度マップを表示してから、サムネイルクリック→拡大画像クリック→の流れだと、マップは正常に表示されます。 サムネイルクリック→拡大画像クリック→サムネイルクリックの場合、次に表示されるマップは残念マップです。 調べていく中で.css({display:"none"});があると発生するという事も知り、色々と試したのですが、どうにも上手くいきません。 説明下手で申し訳ないのですが、どなたかご教示いただけないでしょうか。 よろしくお願いいたします。 // JavaScript Document var photoArray = new Array(); $(function(){ //alert("test"); var searchURL = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=247631e9618453041df148893302e211&tags=sky&page=0&per_page=15&has_geo=true&extras=geo&format=json"; $.ajax({ url : searchURL, dataType : "jsonp", jsonp : "jsonFlickrApi" }); }); function jsonFlickrApi(data){ console.log(data); //alert("jsonFLickrApi:"+data.photos.photo); $(data.photos.photo).each(function(i) { //console.log(this.latitude,this.longitude); var geo = {lat:this.latitude, lng:this.longitude}; var imgTitle = {title:this.title}; //console.log(imgTitle.title); var file = "http://farm" + this.farm + ".static.flickr.com/" + this.server + "/" + this.id + "_" + this.secret + "_" + "z" +".jpg" //console.log(file); var thumbnail = "<img src='"+file+"' width='60' height='50' data-lat='"+geo.lat+"' data-lng='"+geo.lng+"' data-title='"+imgTitle.title+"' style='margin:-6px 6px 37px 14px;'>"; //console.log(thumbnail); $("#photoArray").css("height", Math.floor(photoArray.length)/5*110); var h = $("#photoArray").attr("height"); $("#photoArray p").append('<img src="images/photoBg.png" width="70" height="75" style="margin:-12px 0 18px 10px;" top: -' + h + 'px;">').fadeIn("slow"); $("#photoArray").append(''+thumbnail+'').fadeIn("slow"); }); //マウスオーバー時のサムネイルopacity $("#photoArray img").hover(function(){ $(this).stop(true).fadeTo("fast", 0.5);},function(){ $(this).fadeTo("fast",1); }); //サムネイルをクリックすると実行される処理 $("#photoArray img").live("click",function(){ //console.log($(this).data('lat'), $(this).data('lng'), $(this).data('title')); var img = $(this).attr("src"); var title = $(this).data('title'); //画像の座標を変数に入れる var latLng = new google.maps.LatLng($(this).data('lat'), $(this).data('lng')); var myOptions = {zoom: 14,center: latLng,mapTypeId: google.maps.MapTypeId.ROADMAP}; var map = new google.maps.Map(document.getElementById("googleMap"),myOptions); var marker = new google.maps.Marker({position: latLng, map: map}); //console.log(latLng); $("#bigPhoto").fadeOut("slow",function(){ $("#bigPhoto").html("<img src='"+img+"' width='368' height='290'>" + '<p>' + title + '</p>').fadeIn("slow"); }); //console.log(title); $("#googleMap").fadeOut("slow").css({display:"none"}); }); $("#bigPhoto img").live("click",function(){ $("#bigPhoto").fadeOut("slow", function(){ $("#googleMap").fadeIn("slow"); }); }); }

  • TwitterAPI1.1でGetメソッド(?)の

    perlでフォロワー一覧を取りたいのですがよくわからず困っています。 こちら、 http://pplace.jp/2012/10/1058/ 参考にしてやろうとしているのですが、 使えなくなったとされる1が使えて、1.1のほうがむしろエラーになります。 http://api.twitter.com/1/statuses/followers/TwitterのID.xml → これはOK http://api.twitter.com/1.1/friends/ids.json?screen_name=TwitterのID → エラーになる {"errors":[{"message":"Bad Authentication data","code":215}]} どうやらOauthの失敗とのことですが、、、 簡単なサンプルは動きました。 ---- こちらは確認 つぶやきサンプルです ------------- use strict; use Net::Twitter; my $consumer_key = '' my $consumer_secret = ''; my $token = ''; my $token_secret = ''; my $nt = Net::Twitter->new( traits => [qw/OAuth API::REST/], consumer_key => $consumer_key, consumer_secret => $consumer_secret, access_token => $token, access_token_secret => $token_secret, ); my $result = $nt->update('Hello World'); ----------------------------------------------------- しかし、 そもそも上のようなURL(GETメソッド?)をどうやってOAuthで呼び出すのかがわかりません・・・ perldoc Net::Twitter も見たのですが、それっぽい記述はありませんでした・・・ perlでTwitter1.1のAPIのGetメソッド(?)はどうやって呼び出すのでしょうか・・・

    • ベストアンサー
    • Perl

専門家に質問してみよう