元々システムで Ver2.3のmanagement APIにアクセスするように組まれていて、その流れで2.3とかのAPIからどうやってdefault URL を取るんだろう、と悩んでて実現できてなかったんですが。
結果は簡単。
Ver3のAPPI使えば WebPropertiesの戻りデータの中にURLが含まれてるという。
だから、
https://www.googleapis.com/analytics/v2.4/management/accounts/~all/webproperties/~all/profiles
じゃなく
https://www.googleapis.com/analytics/v3/management/accounts/~all/webproperties/~all/profiles
こっちにアクセスしろ、って事で解決!
古いAPIはatom+xml形式で、xmlパーサで読み取ってたんですが、新しい方は戻りのデータが jsonになってるからデータの扱いも簡単!
はやくバージョンあげればヨカッタね。
PROGRAMMMMMMMING
write a note about troubles of programming,working day by day. ま、日々仕事でつまづいた事をメモ書き程度にまとめていきますよー。
2013年6月21日金曜日
2012年2月7日火曜日
twitterのAPI
https://api.twitter.com/i/activity/about_me.json
なんてものがあるようで。
だれがいつフォローしたかとかわかるようになるっぽいですね。
なんてものがあるようで。
だれがいつフォローしたかとかわかるようになるっぽいですね。
2010年12月21日火曜日
fgetcsv で文字化け!
「文字化け」
そこはかとなく初心者風味ですね!
それはおいといて、状況説明を。
とあるプロジェクトでCSVをDBに取り込む処理を作る必要が出てきました。
このプロジェクトは、結構昔から動いているシステムにプラグイン的に機能を追加していくような雰囲気のものなんですが、古いだけあって、システムの基幹部分が EUC-JP で組まれている。
で、インポートしたいのはご多分にもれず、Excelから吐き出した Shift_JISのCSV。
CSVの項目内に、「ダブルクオートされたコンマ区切りのデータ列」が含まれるから困ったもんで。
オイラ、基本的にPHPの fgetcsv関数を信用してないもんで、いつもなら fgets してから explodeなりpreg_split なりするんだけど、この状況では、単純な正規表現では切り分けられない。
頑張れば組めそうだけど、そんな目に見えないところに力を注いでる時間もない、ってんで、渋々 fgetcsv関数を使う事に決めたわけですよ、奥さん。
最初はうまくいってるように見えましたよ。最初は。
でも、いろんなデータをインポートしてみたら、ときどきエラーが出ちゃうのね。
なんだ?ってんで確認してみたら、
てな感じの行を取り込んだ配列をダンプしたら
だってさ。
つまりこういう事だ。
「ソ」ってShift_JISの文字化けトラブルナンバー1の文字なのはご存じのとおり。
で、「ソ"」っていう並びをfgetcsvが取り込もうとした時に、「ソ\"」って変換しちゃったもんだから、次のフィールドまで含めて1つのデータだと勘違いしちゃった感じですね。
結論。
やっぱ fgetcsv は使えねぇ!!
ま、結局使うんだけどね。
そんな日。
そこはかとなく初心者風味ですね!
それはおいといて、状況説明を。
とあるプロジェクトでCSVをDBに取り込む処理を作る必要が出てきました。
このプロジェクトは、結構昔から動いているシステムにプラグイン的に機能を追加していくような雰囲気のものなんですが、古いだけあって、システムの基幹部分が EUC-JP で組まれている。
で、インポートしたいのはご多分にもれず、Excelから吐き出した Shift_JISのCSV。
CSVの項目内に、「ダブルクオートされたコンマ区切りのデータ列」が含まれるから困ったもんで。
オイラ、基本的にPHPの fgetcsv関数を信用してないもんで、いつもなら fgets してから explodeなりpreg_split なりするんだけど、この状況では、単純な正規表現では切り分けられない。
頑張れば組めそうだけど、そんな目に見えないところに力を注いでる時間もない、ってんで、渋々 fgetcsv関数を使う事に決めたわけですよ、奥さん。
最初はうまくいってるように見えましたよ。最初は。
でも、いろんなデータをインポートしてみたら、ときどきエラーが出ちゃうのね。
なんだ?ってんで確認してみたら、
"パッソ","セッテ","クラウン"
てな感じの行を取り込んだ配列をダンプしたら
array(3) {
[0]=>
string(15) "パッソ",セッテ""
[1]=>
string(8) "クラウン"
}
だってさ。
つまりこういう事だ。
「ソ」ってShift_JISの文字化けトラブルナンバー1の文字なのはご存じのとおり。
で、「ソ"」っていう並びをfgetcsvが取り込もうとした時に、「ソ\"」って変換しちゃったもんだから、次のフィールドまで含めて1つのデータだと勘違いしちゃった感じですね。
結論。
やっぱ fgetcsv は使えねぇ!!
$in = fopen($srcFile, "r");
$out = fopen($dstFile, "w");
while(!feof($in)) {
fputs($out, mb_convert_encoding(fgets($in), "EUC-JP", "SJIS"));
}
fclose($out);
fclose($in);
$fp = fopen($dstFile, "r");
while(!feof($fp)) {
$csv = fgetcsv($fp);
:
:
}
fclose($fp);
ま、結局使うんだけどね。
そんな日。
2010年11月22日月曜日
iPhoneローカライズのメモ
いろんなところに情報があるけど、自分でやった分のメモ。
まず、何も考えずにアプリを作る。
だいたい形ができたところで、文字列 (@"~")を指定している部分は
その後おもむろに、コンソールを立ち上げて
これでソース中でたとえば、
注意点としては、 genstring の挙動で、Localizable.String が既にあっても上書きしちゃってマージしてくれないので、Localizableファイルを作成するのは遅ければ遅い方が楽ってこと。
Localizableファイルがなければ、NSLocalizedString はそのままの文字列を出力してくれるので、問題は起きない。
以上。
まず、何も考えずにアプリを作る。
だいたい形ができたところで、文字列 (@"~")を指定している部分は
NSLocalizedString(@"~", @"")とする。
その後おもむろに、コンソールを立ち上げて
genstring (.mファイル)とすると、カレントディレクトリに Localizable.String ファイルができるので、en/ なり ja/ なりコピーする。
これでソース中でたとえば、
NSLog(@"Connection failure!!");なんて書いてる場所を
NSLog( NSLocalizedString(@"Connection Failure!!", @"") );として、ja/Localizable.Strting に
"Connection Failure!!" = "接続できませんよ!"なんて書くと、端末の言語設定が日本語になっていれば、"接続できませんよ!"とログに吐きだされる。
注意点としては、 genstring の挙動で、Localizable.String が既にあっても上書きしちゃってマージしてくれないので、Localizableファイルを作成するのは遅ければ遅い方が楽ってこと。
Localizableファイルがなければ、NSLocalizedString はそのままの文字列を出力してくれるので、問題は起きない。
以上。
2010年11月17日水曜日
iPhoneで撮影した画像をライブラリに保存する
情報がなかなか見つからんかった。
http://iphone.longearth.net/2009/02/15/%E3%80%90iphone%E3%80%91%E7%94%BB%E5%83%8F%E3%82%92%E3%83%95%E3%82%A9%E3%83%88%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B/
ここに書いてます。
撮影して加工するのは色々サンプルあるけど、それをサーバーに送るとか、WebViewを通してアップロードするとか、ライブラリに保存するとか、そういう点について説明してるサイトが少ないね。
まぁいいけど。
http://iphone.longearth.net/2009/02/15/%E3%80%90iphone%E3%80%91%E7%94%BB%E5%83%8F%E3%82%92%E3%83%95%E3%82%A9%E3%83%88%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B/
ここに書いてます。
撮影して加工するのは色々サンプルあるけど、それをサーバーに送るとか、WebViewを通してアップロードするとか、ライブラリに保存するとか、そういう点について説明してるサイトが少ないね。
まぁいいけど。
2010年11月15日月曜日
iPhoneアプリ
わからんなりに進めております。
基本的には、WEBサイトを独自のアプリで表示させて、機能的に足りない部分をアプリ側で補っていく感じにしようかと。
で、問題は、写真を撮ってそのままフォームで送信、とかしたいのね。
手間を省くために、基本的にアプリの表示画面は UIWebView で拵えようと思っているので、どうしたもんかと小一時間。
結局、以下のような雰囲気で実装することにしました。
・HTMLの画像に特殊なリンクをはる
・アプリ側でリンクのタップをフェッチ
・特殊なURLのリクエストであれば、アプリ側に制御をもらってカメラを起動する
・カメラなりライブラリなりから取得した画像をencodeしてjavascriptでHTMLに渡す
これで、たぶんサーバーにカメラ画像が送信できるはず。
Viewのコントロールがめんどくさくて時間かかるのが問題だな。何かバグが出たときに対応できる自信がない・・・
基本的には、WEBサイトを独自のアプリで表示させて、機能的に足りない部分をアプリ側で補っていく感じにしようかと。
で、問題は、写真を撮ってそのままフォームで送信、とかしたいのね。
手間を省くために、基本的にアプリの表示画面は UIWebView で拵えようと思っているので、どうしたもんかと小一時間。
結局、以下のような雰囲気で実装することにしました。
・HTMLの画像に特殊なリンクをはる
・アプリ側でリンクのタップをフェッチ
・特殊なURLのリクエストであれば、アプリ側に制御をもらってカメラを起動する
・カメラなりライブラリなりから取得した画像をencodeしてjavascriptでHTMLに渡す
これで、たぶんサーバーにカメラ画像が送信できるはず。
Viewのコントロールがめんどくさくて時間かかるのが問題だな。何かバグが出たときに対応できる自信がない・・・
2010年11月10日水曜日
登録:
投稿 (Atom)