キーワード関連動画の表示
YouTube を任意のキーワードで検索して
マッチした動画のタイトルや
サムネイル画像、内容の説明などをサイトで表示できる
ようになります
それが
YouTube Data API
取得できる情報は
単体の動画
人気の動画一覧
などなど
詳しくは
https://developers.google.com/youtube/reference?hl=ja
に載っています
また、YouTube Data API については
動画サイト
ドットインストールにて
YouTubeでジュークボックスを作ろう
http://dotinstall.com/lessons/youtube_jukebox_js
というものもありますので
こちらも試してみるとおもしろいと思います
月別: 2013年2月
任意のキーワードとカテゴリで&A表示
任意のキーワードとカテゴリで&A表示
Yahoo知恵袋の質問の中から
任意のキーワードとカテゴリにマッチした質問と
ベストアンサーを表示するときのメモ
まず、リクエストパラメータの確認
質問検索APIではパラメータにappid が必須になる
今回は、ほかに
検索キーワードの query
並び順を変える sort
取得結果を表示する results
を使う
それでは、リクエストURLの作成
いつもどおり
ベースURLへ?をつけて
このあとにパラメータを&でつなげて表示
今回の設計は
キーワード設定
回答数が多い順にソートして
鵜3から3つの質問と回答を表示する
ではこれを書くと
ベースURL?appid=アプリID&query=検索キーワード&results=検索結果の数
そして、 echo で表示するレスポンスフィールドは
Status->statusCode
実行結果のステータス
0か-1
Result->Question->Content
質問の本文
Result->Question->BestAnswer
ベストアンサー
Result->Question->Url
質問詳細ページのURL
Yahoo 知恵袋のAPIのメモ
Q&Aサイト APIの基本仕様
ベースURLは
http://chiebukuro.yahooapis.jp/Chiebukuro/V1/questionSearch
XMLで取得するタイプです
リクエストパラメータは
appid
yahooデベロッパーネットワークで登録したアプリID
これは必須
query
検索キーワード
たどし、日本語の場合、UTF=8エンコードご必要
これも必須パラメータ
type
検索の種類の指定
以下のどれかを指定
all
デフォルト設定、すべての文字列
any
文字列のうち、いずれかを含む
phrase
文字列を文章として含む
category
カテゴリIDの指定
これで、検索するカテゴリーを絞り込める
指定するときには数値になる
これは、カテゴリーページのURL末尾のところと同じ
もし、インターネットカテゴリーなら
2078297392
カテゴリー一覧をみたいなら
http://list.chiebukuro.yahoo.co.jp/dir/dir_list.php
にあるので、ここから調べます
condition
質問の状態を指定
これで、回答済みとか、回答中などを絞り込める
all
全部、これがデフォルト
open
回答受付中
vote
投票受付中
solved
解決済み
sort
結果の並び順を指定
-posteddate
デフォルト設定で、質問日時の新しい順
+poteddate
質問日時が古い順
-amscount
回答数が多い順
+anscount
回答数が少ない順
そして、レスポンスフィールド
esultset
他のレスポンスフィールドすべてを含むフィールド
以下の属性を持っています
totalResultsAvailable
検索結果の総数
totalResults Returned
検索結果のうち、返却された検索結果の数
firstResultPosition
最初の検索結果が何個目になるか
Status
実行結果のステータスです
0 なら正常終了
-1 なら異常あり
このあたりは、プログラミングのときとおなじ要領
Content
質問本文
BestAnswer
ベストアンサー
Url
詳細ページのURL
AnsCount
回答数
PostedDate
回答日時
SolvedDate
解決日時
Q&A サイトの情報表示
Yahoo知恵袋を任意のキーワードで検索し
ベストアンサーを表示するというもの
使うAPIは
質問検索API
で
Yahoo知恵袋
http://chiebukuro.yahoo.co.jp/
ここの質問を回答データから
キーワード検索して
マッチするQ&Aのデータを取得、表示する
カテゴリとか並び方もパラメータ指定できるため
サイトや記事に関連するキーワードで検索して
最新口コミ情報とかQ&Aサイトのようにできる
もう少しスキルがあがってくれば
おそらくはもっといろいろな情報収集ツールに改造できそう
アプリ開発とかweb サービス関連の開発のヒントになるかもしれない
ただ、このAPIを使うためには
ニューストピックのときのように
Yahooデベロッパー登録して
アプリIDを取得する必要がある
このYahooデベロッパー登録は
http://developer.yahoo.co.jp/
から取得可能
あと、提供元は
質問検索API
http://developer.yahoo.co.jp/webapi/chiebukuro/chiebukuro/v1/questionsearch.html
になります
あと
Yahoo!知恵袋Web APIは、
24時間中1アプリケーションIDにつき
50000件のリクエストが上限となっています
使いすぎには注意が必要です
Simple API Wikipedia API
ベースURLは
http://wikipedia.simpleapi.net/api
リクエストパラメータは
keyword
キーワードの指定
q
キーエアー℃の指定
実はkeyword と同じ
output
データの出力形式を指定
デフォルトはXML
レスポンスフィールドの
フィールド名は
url
wikipedia の項目ページのURL
title
項目のタイトル
body
本文のダイジェスト
length
本文の長さ
となっている
これらを使って
wikipedia から任意のキー輪小渡にマッチした
記事を検索し、その内容を表示するようにする
このためには、まずリクエストURLを作成する
ベースURLの
http://wikipedia.simpleapi.net/api
にリクエストパラメータをつなげて
データ取得用のリクエストURLを組み立てる
ただし、keyword に指定する値については
日本語対応するために
URLエンコードする
URLエンコードには
urlencode() を使う
取得するデータ出力形式は
wordpress で処理しやすいようにPHPにする
これらを考慮し、リクエストURLを作成すると
http://wikipedia.simpleapi.net/api?keyword=URLエンコードしたキーワード&output=php
となる
あとは、取得したレスポンスフィールドのうち
使うものを echo で表示していく
表示する時には
foreach() で1つずつ代入しながらループして
繰り返し表示していく
表示内容は
項目ページのURL
result->url
項目のタイトル
result->title
本文ダイジェスト
result->body
となる
wikipedia の情報を表示
これはキーワードを固定して
wikipedia に掲載された情報を検索、表示するう
これは専門用語辞典などの作成に向いている
これも、ユーザ登録はなしで使える
Simple API Wikipedia API
これが wikipedia の項目から検索して
マッチする項目のデータを取得表示できるAPI
ちなみに wikipedia のURLは
http://ja.wikipedia.org/
記事関連のキーワードでデータ取得して表示するけっど
取得できるのは
項目の冒頭部のダイジェストのみ
画像、表組みなどは再現できないので注意
ユーザ登録不要、商用、非商用どちらも
できるらしいので、使い道は多そうです
もっとも、途中から規約が変わる可能性もありますが
ちなみに、このAPIは
wikipedia 公式APIではなく
株式会社ユーザーローカルが運営するサービスのAPI
のため
最新の wikipedia のデータとは内容が異なることもあるので注意
Simple API WIkipedia の提供サイトは
http://wikipedia.simpleapi.net/
wordpress でソースコード表示を便利にするプラグイン
wordpress でソースコードを表示するときに楽になる
プラグイン
それが
SyntaxHighlighter Evolved
今回参考にさせていただいたのは
WordPressでソースコードに色をつけるプラグインの使い方:SyntaxHighlighter Evolved
です
プラグインを新規追加して
SyntaxHighlighter Evolved
をインストールし、有効化するだけです
あとは、ソースを書き込むときに
各プログラミング言語のショーとコードで囲みます
ショートコードに関しては
「SyntaxHighlighter Evolved」で利用できるショートコード一覧
を参考にさせていただきました
yahoo! ニュースWeb API実践
wordpress へ組み込みたいので
さっそくサンプルを使って実験
すでにサンプルファイルはダウンロードしてあるので
これを使います
以前、WebAPI勉強会でできるだけ最初のころは
コピペのほうがミスもしないし
動かないところで迷う時間ももったいないので
まずはそこから始めたほうがよい
とのアドバイスもありましたので
まずは、やれるところだけ改造して動かします
ダウンロードしたサンプルは圧縮されているので
unzip で解凍すると
wp_webapi_sample
ができるので、この02フォルダにある
topics.php を編集し
実験します
とりあえず、vim でテキストファイルを編集
1234567890
となっている部分を取得した
yahooのアプリIDへ変更
変更したら
cp 02/topics.php /var/www/wordpress/wp-content/themes/twentyeleven/
でファイルをコピー
こういうときに ubuntu とか Linux だと
操作がしやすくていいと思います
これだけじゃ反映されないので
cd /var/www/wordpress/wp-content/themes/twentyeleven/
で移動して
<?php get_template_part(‘tenki’); ?>
の下あたりに
<?php get_template_part(‘topics’); ?>
を追記します
次に wordpress で新規投稿を追加
題名は適当に Yahoo ニュースなどなど
カスタムフィールドを追加して
名前を
category
値をsports
として公開すればsスポーツ関連記事の
ニューストピックスがでます
ちなみに、
値を sports から economy にすれば
経済関連のニュースになります
今回の参考書席は
WordPressプラグイン & WebAPI 活用ガイドブック [Version 3.x対応]
なのですが、P134の値がなぜか category でなく
news_category になっていました
ここだけ注意すれば、あとは普通に動きます
yahoo! ニュースWeb API
yahooニュース Web API のトピックAPIを使うことで
Yahooニュースに掲載されているニューストピックを取得、表示できる
ちなみに、URLは
http://headlines.yahoo.co.jp/hl
リクエストパラメータを指定すれば
国内、海外、経済、スポーツなど
特定カテゴリに絞って表示したり
キーワードにマッチしたトピックのみ表示できる
これを使えば、株の情報とかを集めるときに
企業のニュースを表示したり
研究開発関連の情報を集めることもやりやすくなるかもしれない
ただ、このトピックAPIを使うには
Yahooデベロッパー登録しないとダメ
http://developer.yahoo.co.jp/
から登録可能
トピックAPIについては
http://developer.yahoo.co.jp/webapi/news/news/v2/topics.html
に解説があります
トピックAPIのベースURLは
http://news.yahooapis.jp/NewsWebService/V2/topics
リクエストパラメータは
前回のお天気情報のときと異なり
かなり必須項目が増えています
必須なのは
appid
アプリID
topicname
カテゴリより細かい分類基準
category
表示するニュースのカテゴリ
pickupcategory
ニュースが掲載されたカテゴリ
query
指定したキーワードでトピック検索し
部分一致したトピックのデータが返される
sort
ニュースの並び順
results
表示件数の指定
サンプルリクエストURLが載っていて
http://news.yahooapis.jp/NewsWebService/V2/topics?appid=<あなたのアプリケーションID>&topicname=earthquake
となっているので
おそらく
必須パラメータは
appid アプリID
topicname トピック名
になるみたい
トピック名は
サンプルだと earthquake になっているし
書籍だと
weather になっている
これを調べるには
http://dailynews.yahoo.co.jp/fc/list/
の中の記事をクリックすると
でてくるURLの末尾のところを指定する
例えば、今回のサンプルの場合だと
http://dailynews.yahoo.co.jp/fc/domestic/earthquake/
は地震をクリックしたときのURLのところで
書籍のは
天気情報をクリックした時に
http://dailynews.yahoo.co.jp/fc/domestic/weather/
となっているため、これを使っている
あと
APIには一日の上限が決まっていることが多く
Yahoo!ニュースWeb APIは、
24時間中1アプリケーションIDにつき
5000件のリクエストが上限
となっています
Weather Hacks お天気Web サービス
参考書籍にはXML形式で載っていたけど
サイトで確認してみたら、3月下旬にXML形式でのAPI
提供はもうすぐ終了してしまうらしい
とはいっても、勉強には使えるので
メモしてみた
まず、XML形式での
ベースURLは
http://weather.livedoor.com/forecast/webservice/rest/v1
こんどはJSONになるようだ
こちらの場合のベースURLは
http://weather.livedoor.com/forecast/webservice/json/v1
違いは、rest から json になっているということ
それでも、変更になるまでは参考にすることができます
ということで、今回はXMLのほうでみてみました
JSONのほうはまた機会をみて勉強していきます
まず
わかりやすいサンプルを見るために
http://weather.livedoor.com/forecast/webservice/rest/v1?city=113&day=tomorrow
へアクセスします
するとXMLの階層をみることができます
この時に Google Chrome を使っているなら
Alt + E で F でページない検索ができるので、
これで XMLタグを探すことで、効率的に階層を
理解することができます
このXMLの階層のページがレスポンスフィールドになります
参考までに書いておくと
location の are=が地方名 pref=が県名
city は地域名
telopは天気
image は画像関連で
title が天気
link が天気情報のURL
width が天気の画像の横幅
heightが天気の画像の縦幅
temperatureは気温関連で
maxが最高気温
min が最低気温
となっています
リクエストパラメータを取得するに必要なのは
XMLのときだと
city 地域のID番号
day 天気予報を見たい日
を指定します
http://weather.livedoor.com/forecast/webservice/rest/v1?city=113&day=tomorrow
なら、
city=113
day=tomorrow
がこれに該当します
基本的に web API は
ベースURLに
?の後に
パラメータを&でくっつけて
データ取得用のリクエストURLを作成します
今回なら
http://weather.livedoor.com/forecast/webservice/rest/v1
がベースURL
city=113&day=tomorrow
がパラメータの部分です
&でくっつけているところがわかると思います
もし、東京の今日の天気をみたいなら
http://weather.livedoor.com/forecast/webservice/rest/v1?city=63&day=today
となります