ありがとうございます!
同居している人達からは、何もお祝いを言われていないまま、誕生日が終わろうとしています!やったね!
あ、昔の同僚がおめでとうとLINEで言ってくれました。ええ子やで。keiちゃんええ子やで。
というわけで、mixi Graph API で文字化けする原因?と、対処法がわかりました~。
なんで文字化けしてしまったのかは、わからないんだけど、
(UTF-8エンコード宣言しているにもかかわらず、EUCで書いて保存しているっぽいのではと思う)
前回のエントリで紹介した jcode.js と utf8.js (?) 的にいうと、
var str = "わっかっさー!わっかっさーってなぁんだっ!";
str = _to_utf8(_to_euc(str));
こういうエンコード状態になっているみたいです。
なので、
str = _from_euc(_from_utf8(str));
こうすることで、元に戻ります。
で、きれいに文字が表示されるようになりましたよーひゃっほーう!
で、mixiボイス投稿とmixiボイス返信とイイネ!を実装しようとしたんだけど、
投稿についてはできるんだけど、
mixiボイス返信とか、イイネ!が出来ない。
理由は、UpdateAPI でデータを取得すると、
VoiceAPIで取れば取得できる、POST-ID という一意なIDが取得できないため。
http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/voice-api/
これがないと、返信もイイネも出来ない。
ていうか、mixi のWebサイト上だと、mixi チェックだろうが日記だろうがなんだろうが、
イイネ!出来るはずなのに、 UpdateAPI に POST-ID が無い限り、どうしようもない。
UpdateAPI で取得できる JSON データ上で、id というカラムはあるんだけど、
中身が id ではなくて、URI になってる。
http://mixi.jp/view_check.pl?post_time=20120129202439#owner_id=cqs7s4qrou1ae_1327836279
アクセスしても、データがありませんと言われる。
これに対して何かアクションを起こせば、POST-ID が取れるのなら、取りに行くんだけどなぁ。
あ。でも、待てよ?
VoiceAPI の POST-ID のサンプルを見ると、
こうなってるので、[ { "id" : "1FZ3P4ACUWBBC-2010061010321", "created_at" : "Thu Jun 10 01:32:13 +0000 2010", "text" : "つぶやきの本文", "user" : { "id" : "1FZ3P4ACUWBB", "screen_name" : "Becky", "profile_image_url" : "http://profile.img.mixi.jp/photo/user/1FZ3P4ACUWBBC_301280930.jpg", "url" : "http://mixi.jp/show_friend.pl?uid=1FZ3P4ACUWBB" }, "photo" : [ { "thumbnail_url" : "http://id.photo.mixi.jp/....", "image_url" : "http://id.photo.mixi.jp/....", } ], "favorited" : false } ]
URLを分解して、 post_time= と owner_id = をくっつけりゃいいじゃんねぇ。
でも、なんかよくよくみると、 user.id (1FZ3P4ACUWBB) と id (1FZ3P4ACUWBBC) だと、
id の 方が、最後にCが余計だよね。関係あるのかな?なんでもいいからCつけてみりゃいいか。
var id = "http://mixi.jp/view_check.pl?post_time=20120129202439#owner_id=cqs7s4qrou1ae_1327836279";
id = id.replace("post_time=","").replace("owner_id=","").split("?")[1].split("#");
id = id[1].split("_")[0].toUpperCase() + "C-" + id[0];
alert(id);
こんな感じでどうだろ。やってみよう。
やってみたけど、ん~。NotFoundって言われるわぁ。
ん~。困ったわおん。チョイ調べる。
0 件のコメント:
コメントを投稿