目指せ1級!30代サラリーマンボルダリング日記

都内IT企業で働く30代サラリーマンのクライミング記録

タグ:jQuery

TwitterAPIに検索キーワードを投げて表示するだけのサンプル。

リクエストパラメータの一例。
詳細はこちらを参照
q検索キーワード
callbackコールバック関数を指定したいときは設定
lang検索対象の言語
rpp取得する検索結果数
page取得ページ


レスポンスデータはこんなかんじ。
created_at発言日時
from_userユーザID
profile_image_urlユーザのプロフィール画像
text発言

続いてソースとサンプル。
続きを読む
    このエントリーをはてなブックマークに追加


前回の記事(http://blog.livedoor.jp/j_yuze/archives/51369191.html)を受けて、 いろいろコピペで使えるようにしとくシリーズ。

まずはyoutubeAPI。

続きを読む
    このエントリーをはてなブックマークに追加

ふとjsonpを使おうと思ったんだけど たぶんぼくのドキュメント読解力が足りないせいで無駄に時間かかった。
忘れないようにメモ。

$.ajax({
    type: "GET",
    url: "http://sample.com/",
    data: {
      "param": "hogehoge",
    },
    dataType: "jsonp",
    jsonp: "callBack",
    success: function(data) {
      /* success */
    },
    complete: function(data) {
      /* complete */
    }
});

dataTypeをjsonpにするとjQueryがcallbackパラメータを自動で入れてくれる。

callback=jsonp1234391216435みたいな。

jsonpオプションを付けると↑のcallbackの部分を指定した名前にできる。
サーバ側のAPIによってcallbackのパラメータ名が決められている場合があるのでそういうときに使う。


callback関数を指定したければdataオプションに書く。

data: { "callback" : "hoge" }

callback関数を指定しないとjQuery内部で以下のコードが実行される。
window[ 'jsonp1242391216435' ] = function(tmp){
  data = tmp;
  success();
  complete();
  // ガベージコレクト処理
  window[ jsonp ] = undefined;
  try{ delete window[ jsonp ]; } catch(e){}
  if ( head )
  head.removeChild( script );
}


サーバ側はこんなのでとりあえずデータ返してみた。
返すデータはお好きに。
<?php
$data = array("a" => "hoge", "b" => "foo", "c" => "bar");
$json = json_encode($data);
$callback = htmlspecialchars(strip_tags($_GET["callback"]));
echo $callback . "(" . $json . ")";
?>
    このエントリーをはてなブックマークに追加

あとでコピペで使えるようにメモ。

日本語文を入力するとキーフレーズを抽出してくれる。
()内の数字がスコアで数字が大きいほど重要度が高い。
appidはこちらから取得する。
レスポンス形式はjson、xml、php serializeから選択可能。
*)jQuery使用。


ソースコードは以下。
$(function(){
  $("#postSentence").submit(function() {
    $("#postResult").empty();
    search($("#sentence").val());
    return false;
  });
  function search(text) {
    $("#postResult").text("Now Loading....");
    $.ajax({
      dataType: "jsonp",
      data: {
        "appid":"your appid",
        "sentence":text,
        "output":"json",
        "max-result":10,
      },
      cache: true,
      url: "http://jlp.yahooapis.jp/KeyphraseService/V1/extract",
      success: function(data) {
        var ul = $(document.createElement("ul"));
        ul.addClass("class20090807");
        $.each(data, function(word, score) {
          ul.append($(document.createElement("li"))
          .append(word)
          .append(' ('+score+')'));
        });
        $("#postResult").html(ul);
      }
    });
  }
});
    このエントリーをはてなブックマークに追加

このページのトップヘ