https://github.com/themattharris/tmhOAuth
↑ ここからダウンロードして tmhOAuth.php をサーバにアップします。
require_once 'tmhOAuth.php';
$twitter = new tmhOAuth(
array(
'consumer_key' => 'aaaaa' ,
'consumer_secret' => 'bbbbb' ,
'token' => 'ccccc' ,
'secret' => 'ddddd' ,
'curl_ssl_verifypeer' => false ,
'timezone' => 'Asia/Tokyo' ,
)
);
$r = $twitter->request('POST', $twitter->url('1.1/statuses/update'), array(
'status' => 'hoge hoge hoge'
), true, false);
// 正常終了なら $r に 200 が返る。
print '<pre>'; print_r($twitter); print '</pre>';
https://dev.twitter.com/docs/api/1.1
その他参考:
Googleサジェストや他の検索エンジンやアマゾンのサジェストをPHPで使用するには下記のように記述します。
($url = ''; の定義を複数行記述していますので、使用したいAPI以外の行をコメントアウトしてください。)
$text = 'ジャズ'; // Google $url = 'http://suggestqueries.google.com/complete/search?hl=ja&qu='.urlencode($text); // Youtube $url = 'http://clients1.google.com/complete/search?hl=en&ds=yt&client=firefox&q='.urlencode($text); // Amazon $url = 'http://completion.amazon.co.jp/search/complete?method=completion&search-alias=aps&mkt=6&q='.urlencode($text); // Yahoo $url = 'http://asprov.search.yahoo.co.jp/AssistSearchService/V2/webassistSearch?output=iejson&callback=ytopAssist&p='.urlencode($text); // Bing $url = 'http://api.bing.net/osjson.aspx?FORM=OPERAS&Market=ja&Query='.urlencode($text); $json = file_get_contents($url); $json = mb_convert_encoding($json, 'UTF8'); $data = json_decode($json,true); print "<pre>"; print_r($data); print "</pre>";
Bingでの使用例(「ジャズ」という単語でサジェストした結果)
Array
(
[0] => ジャズ
[1] => Array
(
[0] => ジャズドリーム
[1] => ジャズドリーム長島
[2] => ジャズダンス
[3] => ジャズドリーム長島 クーポン
[4] => ジャズピアノ
[5] => ジャズドリーム長島 セール
[6] => ジャズ 名曲
[7] => ジャズマスター
)
)
となります。
Googleの短縮URLサービス goo.gl をPHPから使用するには以下のようなコードで実現できます。
https://code.google.com/apis/console/
ここから取得できます
function get_tiny_url($long_url=''){
$api_url = 'https://www.googleapis.com/urlshortener/v1/url';
$api_key = 'XXXXXXXXXXX';
$curl = curl_init("$api_url?key=$api_key");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, '{"longUrl":"' . $long_url . '"}');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($curl);
curl_close($curl);
$json = json_decode($res);
$tiny_url = $json->id;
return $tiny_url;
}
$long_url = 'http://xxxx.xxxx.xxx.com/xxxxxxxxxxxxxx.html'; $tiny_url = get_tiny_url($long_url);
http://developer.hatena.ne.jp/ja/documents/keyword/apis/autolink
uri : http://d.hatena.ne.jp/xmlrpc encoding : utf8 methodName : hatena.setKeywordLink parameters : 以下を参照 body(string): キーワードを抽出するテキストを指定します。 score(int): 0〜50。キーワードスコアのしきい値を指定します。指定された値よりもスコアが大きいキーワードのみが抽出されます。省略可。 cname(array): キーワードのカテゴリーを指定します。指定があった場合、「一般」と指定されたカテゴリーのキーワードが抽出されます。指定が無かった場合は、全カテゴリーとなります。book,music,movie,web,elec,animal,anime,food,sports,game,comic,hatena,clubが指定可能です。省略可。 a_target(string): アンカー(a)タグのtarget属性値を指定します。省略可。例:_blank a_class(string): アンカー(a)タグのclass属性値を指定します。省略可。例:keyword mode(string): 値として lite を指定すると、キーワード自動リンクの結果ではなく、自動リンクに使われるキーワード一覧が返却されます。省略可
require_once 'XML/RPC.php';
$text = "日本語の文化と日本語のテスト";
$out_text = hatena_keyword_link($text);
print_r($out_text);
function hatena_keyword_link( $body ){
$body = mb_convert_encoding( $body,'utf8',mb_internal_encoding() );
$params = new XML_RPC_Value(array(
"body" => new XML_RPC_Value( $body , "string" ),
"score" => new XML_RPC_Value( 0 , "int" ),
"a_target" => new XML_RPC_Value( '_blank', "string"),
"a_class" => new XML_RPC_Value( 'keyword', "string")
), "struct");
$msg = new XML_RPC_Message("hatena.setKeywordLink", array($params));
$client = new XML_RPC_Client( "/xmlrpc" , "d.hatena.ne.jp", 80 );
$response = $client->send($msg);
if (!$response->faultCode()) {
$val = $response->value();
$data = XML_RPC_decode($val);
return $data;
}
else {
return PEAR::raiseError( $response->faultCode(), $response->faultString() );
}
}
実行結果
<a class="keyword" target="_blank" href="http://d.hatena.ne.jp/keyword/%C6%FC%CB%DC%B8%EC">日本語</a>の<a class="keyword" target="_blank" href="http://d.hatena.ne.jp/keyword/%CA%B8%B2%BD">文化</a>と<a class="keyword" target="_blank" href="http://d.hatena.ne.jp/keyword/%C6%FC%CB%DC%B8%EC">日本語</a>の<a class="keyword" target="_blank" href="http://d.hatena.ne.jp/keyword/%A5%C6%A5%B9%A5%C8">テスト</a>
http://gdata.youtube.com/feeds/api/videos?vq=michael+Jackson&max-results=10
http://gdata.youtube.com/feeds/api/videos/MYx3BR2aJA4
http://gdata.youtube.com/feeds/api/videos/MYx3BR2aJA4/related
http://gdata.youtube.com/feeds/projection/standardfeeds/FEED_ID
FEED_IDに指定できる文字列
feedid 説明 top_rated 評価の高い動画 top_favorites お気に入り登録の多い動画 most_viewed 再生回数が多い動画 most_discussed 最も議論された動画 most_linked リンクの多い動画 most_responded 動画レスポンスの多い動画 recently_featured 最近のおすすめ動画 watch_on_mobile 携帯電話のための動画
http://gdata.youtube.com/feeds/api/users/USER_NAME/favorites
http://gdata.youtube.com/feeds/projection/playlists/PLAYLIST_ID
http://gdata.youtube.com/feeds/projection/users/「USER_NAME」
http://gdata.youtube.com/feeds/projection/users/USER_NAME/playlists
http://gdata.youtube.com/feeds/projection/users/USER_NAME/subscriptions
http://gdata.youtube.com/feeds/projection/users/username/contacts
後ろに ?v=2&alt=jsonc を追加する
http://gihyo.jp/dev/feature/01/jquery-ajax/0003