<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>橋本雄の技術ブログ &#187; api</title>
	<atom:link href="http://labs.asunochikara.com/tag/api/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.asunochikara.com</link>
	<description>橋本雄がvim、ubuntu、phpなどの技術情報をまとめています</description>
	<lastBuildDate>Fri, 14 May 2010 14:17:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://labs.asunochikara.com/tag/api/feed/" />
		<item>
		<title>OK Wave API</title>
		<link>http://labs.asunochikara.com/2010/01/ok-wave-api/</link>
		<comments>http://labs.asunochikara.com/2010/01/ok-wave-api/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 11:10:09 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[api]]></category>

		<guid isPermaLink="false">http://labs.asunochikara.com/?p=230</guid>
		<description><![CDATA[OK WaveのAPIを使おうかと思って探したのですが、中々見つからず、
苦労した挙句、見つけたサイトが以下、
http://zerosp.com/mt/archives/okwave-websearvice.php
一 [...]]]></description>
			<content:encoded><![CDATA[<p>OK WaveのAPIを使おうかと思って探したのですが、中々見つからず、<br />
苦労した挙句、見つけたサイトが以下、<br />
<a href="http://zerosp.com/mt/archives/okwave-websearvice.php">http://zerosp.com/mt/archives/okwave-websearvice.php</a></p>
<p>一応、念のため一部転記させて頂きます。詳しくは、上記サイトを。</p>
<p>アクセスするURL</p>
<p>http://search.okwave.jp/search?</p>
<p>必須パラメータ</p>
<ul>
<li>mode : モード指定。searchにすること。</li>
<li>
word : 検索文字列(UTF8)</li>
</ul>
<p>省略可のパラメータ()内がデフォルト値です。</p>
<ul>
<li>type : 検索タイプ。keyword : キーワード検索。 word : 自然文検索。(keyword)</li>
<li>start : 検索結果取得開始位置。(0)</li>
<li>items : 検索結果取得数。(20)</li>
<li>booleam : 複数キーワード時の検索条件。and : AND検索。or : OR検索(and)</li>
<li>sort : ソート条件。(score)</li>
<li>order : 並び順。asc : 昇順。desc : 降順。(desc)</li>
<li>before_date : 日付での絞り込み[yyyy-MM-dd] (以前全て)</li>
<li>after_date : 日付での絞り込み[yyyy-MM-dd] (当日)</li>
<li>ques_stat : 質問ステータス絞込み条件。all : 全ての質問。before : 受付中。after : 締め切済み。(all)</li>
<li>ans_stat : 回答ステータスでの絞り込み。all : 全て。before : 回答無し。after : 回答あり。best : 良回答・次点あり (all)</li>
<li>thank_stat : お礼ステータスでの絞り込み。all : 全て。before : お礼無し。after : お礼あり。(all)</li>
<li>remak_stat : 補足ステータス日付での絞り込み。all : 全て。before : 補足無し。after : 補足あり。(all)</li>
<li>c : カテゴリ絞込み。(all)</li>
<li>target : 検索対象、複数指定可能。ques_title : タイトル。ques_text : 質問本文。answer : 回答本文。thank : お礼。remark : 補足。best_answer : 良回答。（デフォルト すべての項目）</li>
<li>take : データ取得対象、複数指定可能。（デフォルト すべての項目）</li>
</ul>
<p>ソートパラメータで使用できる値</p>
<ul>
<li>score : スコア順</li>
<li>date : 日時順</li>
<li>answer_count : 回答数順</li>
<li>remark_count : 補足数順</li>
<li>thank_count : お礼数順</li>
<li>pv : アクセス数順</li>
<li>qst_instructive : 役に立った順</li>
<li>instructive : 参考になった順</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://labs.asunochikara.com/2010/01/ok-wave-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://labs.asunochikara.com/2010/01/ok-wave-api/" />
	</item>
		<item>
		<title>Remember The MilkのAPIを使う方法</title>
		<link>http://labs.asunochikara.com/2009/12/rtm-api/</link>
		<comments>http://labs.asunochikara.com/2009/12/rtm-api/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 13:00:41 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[RTM]]></category>

		<guid isPermaLink="false">http://labs.asunochikara.com/?p=199</guid>
		<description><![CDATA[久しぶりに、なかなかうまく行かない！と悩んでしまいました。なんで情報がないんでしょうねぇ。
さて、最近、すごい！量のタスクが重なり、何から手をつけていいのか悩む状態になっており、これを解消するために、再びGTDの手法を使 [...]]]></description>
			<content:encoded><![CDATA[<p>久しぶりに、なかなかうまく行かない！と悩んでしまいました。なんで情報がないんでしょうねぇ。</p>
<p>さて、最近、すごい！量のタスクが重なり、何から手をつけていいのか悩む状態になっており、これを解消するために、再びGTDの手法を使おう！ということにしていました。<br />
基本手書きをメインとしており、最初はそれで良かったのですが、GTDでいうプロジェクトの数が、すごいことになってしまい機能不全になりかけてしまいました。<br />
そこで、今後はRTMだ！ということで、使おう！と思いたったわけです。RTMにはAPIが公開されており、そこから手帳にタスクを書き出すようにしようというところで、悩みが広がりました。</p>
<p>で、数時間の成果をここでまとめておきます。<br />
（０）予めAPI_KEYを取得しておく<br />
（１）今後も使えるよう簡単な関数を作っておきます</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getRtmSecretKeyParams<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'api_key'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>API_KEY<span style="color: #339933;">;</span>
   <span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'perms'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'delete'</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">ksort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$skey</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$skey</span> <span style="color: #339933;">.=</span><span style="color: #000088;">$key</span><span style="color: #339933;">.</span><span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$urlparams</span> <span style="color: #339933;">.=</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$key</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'='</span><span style="color: #339933;">.</span><span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #000088;">$skey</span><span style="color: #339933;">=</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span>SECRET_KEY<span style="color: #339933;">.</span><span style="color: #000088;">$skey</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$urlparams</span><span style="color: #339933;">=</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlparams</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$urlparams</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;api_sig='</span><span style="color: #339933;">.</span><span style="color: #000088;">$skey</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>（２）続いてfrobを獲得する</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'END_POINT_URL'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'http://api.rememberthemilk.com/services/rest/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//get frob</span>
<span style="color: #000088;">$params</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'rtm.auth.getFrob'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ret</span><span style="color: #339933;">=</span>getRtmSecretKeyParams<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ret</span><span style="color: #339933;">=</span><span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span> END_POINT_URL<span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span><span style="color: #000088;">$ret</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span><span style="color: #339933;">=</span><span style="color: #990000;">simplexml_load_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ret</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$frob</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">frob</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$frob</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//これがfrobの値です</span></pre></td></tr></table></div>

<p>（３）次に、Tokenを取得します。<br />
ここで、とっても長い時間を使ってしまいました。<br />
（２）の続きでプログラムを進めて構わないのですが、</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'AUTH_URL'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'http://www.rememberthemilk.com/services/auth/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'rtm.auth.getToken'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'frob'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$frob</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ret</span><span style="color: #339933;">=</span>getRtmSecretKeyParams<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;まず承認プロセスを経るためにURLを表示します。これをコピペしてブラウザで表示して下さい<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> AUTH_URL<span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span><span style="color: #000088;">$ret</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;承認プロセスを経たら、以下のURLを表示させて下さい<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span>  END_POINT_URL<span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span><span style="color: #000088;">$ret</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>ここで、最初に表示されるURLをブラウザで表示させ、クリックが必要です！（コレが重要！）</p>
<p>（４）続いて、同じパラメータを利用してTokenを取得です<br />
上記の最後の行で表示したURLを表示します。<br />
これで、tokenが取得できます。</p>
<p>基本これで、OKなのですが、この後は</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'rtm.auth.checkToken'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'auth_token'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$token</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>をこなして、tokenを確認させないといけません。<br />
面倒なんですが、こういうものみたいです。<br />
あとは、</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'rtm.tasks.getList'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'auth_token'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$token</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>など、自由にいけます。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.asunochikara.com/2009/12/rtm-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://labs.asunochikara.com/2009/12/rtm-api/" />
	</item>
	</channel>
</rss>
