数字を大きくするjavascript
デジタル時計を見てたらなんとなくjavascriptでつくってみたくなった。
┃の半分の高さの文字がわかんなくて微妙に
4,6,7が大きさ違うのがきにくわない。
ほんとは日付にするつもりだったんだけど
スラッシュとかめんどくさいし
数字だけできたらもう満足なんてイエナイ
デジタル時計を見てたらなんとなくjavascriptでつくってみたくなった。
┃の半分の高さの文字がわかんなくて微妙に
4,6,7が大きさ違うのがきにくわない。
ほんとは日付にするつもりだったんだけど
スラッシュとかめんどくさいし
数字だけできたらもう満足なんてイエナイ
Airで というよりも jqueryで というほうが正しいきもしますが、
seo-webmasterではRESTでGoogleにログインするわけですが、
実装はこんなかんじの雑なソースになっております。
var auth_url = "https://www.google.com/accounts/ClientLogin";
var auth_id = $("#auth_id").val(); //フォームのIDを取得
var auth_pass = $("#auth_pass").val(); //フォームのパスワードを取得
$.ajax({
url : auth_url,
type : "POST",
data : {"accountType":"GOOGLE","Email":auth_id,"Passwd":auth_pass,"service":"サービス名","source":"ソース名"},
error : function(XMLHttpRequest, textStatus, errorThrown){
//エラー処理
},
success: function(rs) {
var token = rs.match(/Auth=([a-zA-Z0-9_\-]+)/); //ここでトークンを切り出して保存する
$('#SITE-TOKEN').val(token[1]);
}
});
これはPOSTなので、いいのですが、次はサイトの認証。
こっちはPUTを使います。
var webmaster_url = "https://www.google.com/webmasters/tools/feeds/sites/" + encodeURIComponent(サイトID).replace(/\./g,"%2E");
var token = $('#SITE-TOKEN').val()//認証トークン;
//送信するXMLを生成する
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:wt='http://schemas.google.com/webmasters/tools/2007'><atom:id>" + site_id + "</atom:id><atom:category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/webmasters/tools/2007#site-info'/><wt:verification-method type='htmlpage' in-use='true'/></atom:entry>";
$.ajax({
url : webmaster_url,
type : "PUT",
processData : false, //デフォルトがtrueなので必ずきってく
dataType:"xml", //なくても動いたけど一応 受信コンテンツタイプの指定
contentType : "application/atom+xml; charset=UTF-8", //コンテンツタイプXMLにしないとデフォルトが urlencodedなのでエラーになる
data: xml, //送信xml
beforeSend : function(req) {
//ログイン時の認証トークンを送る
req.setRequestHeader('Authorization', 'GoogleLogin auth=' + token);
},
error : function(XMLHttpRequest, textStatus, errorThrown){
//エラー処理
},
success: function(rs) {
//成功時の処理
}
});
ポイントとしては processData をきることと、
contentType をちゃんとatom+xmlにすること、
それからbeforeSendでsetRequestHeaderにトークンを埋め込むことかなー
ここらへんのリファレンスみたいなのがあんまなくて(読みかたがわからないだけかも)
適当に大文字にしたり小文字にしたり半角スペース入れたり
してたら通った感じなので、もしかしたら間違ってるかも。
AirでGoogle認証を使うならこんなかんじで試してみてください。
GoogleのデータAPIを使いまくり&つまりまくりなんですが、
とりあえず基本となるAuth -> XMLを送りつけるところを
jqueryで実装してるとこんな感じになるよというメモ。
$.ajax({
url : url,
type : "DELETE", PUTも可(ブラウザに依存)
contentType : 'application/atom+xml; charset=UTF-8', 設定しないとapplication/x-www-form-urlencodedになっちゃうので必須
processData :false, 設定しないとapplication/x-www-form-urlencodedなGETクエリに変換にしちゃうので必須
data: xml_document, ←XMLドキュメント本体
beforeSend : function(request) {
request.setRequestHeader('Authorization', 'GoogleLogin auth=' + token); ←Googleだとこんなかんじ
},
error : function(XMLHttpRequest, status, error){
~~~
},
success: function(result) {
~~~
}
});
}
にしてもマイナーなAPI使うとドキュメントがなさすぎてきつい。。
Neo Inspiration's Access Rankings


Adobe (2)
Air (10)
Akelos (2)
Arc (1)
cakePHP (31)
Controller (11)
Css (3)
Database (12)
Flex (4)
Google (15)
Javascripts (18)
jquery (2)
Just A Scrap (58)
Lifehack (5)
Model (12)
O/Rマッピング (8)
PHP (49)
Seo (39)
Smarty (2)
View (6)
WordPress (9)
Yahoo (9)
後で検証 (36)
正規表現 (4)
素敵Webツール (21)
素敵ライブラリ (19)
自作 (37)
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.