本日は久しぶりにガジェットOSの最新版をリリースした。 今回の版で、複数OAuth認可時の処理について、大方の決着がついた。 OAuth認可後の再リクエストの段階ではユーザーが認可したか?認可しなかったか?(操作をしないで窓を閉じた場合も含む)をガジェットが知ることはできない。 再リクエストで、データが返ってくれば認可は済んだことに。 エラーテキストが返ってきた場合は、Clear…
iGoogleの挙動が変わった。OpensocialのダミーリクエストでiGoogle内か?の判定ができない感じで固定したみたい、、、 本日はまず、リロードしたガジェットOSのページのアップグレードを自動でしてくれるようにする。 これで確認作業が一挙に簡単になった(^-^v ついで、FlashにPopupのclosedを通知するために、認可後にOAuthTokenリレーに飛ばしていたけ…
ひさしぶりに Google Apps Script を触ってみましたが、js でいろんなことができるのでいいですね! と思っていたら、外部の html の取得で躓きました orz 割と有名かもですが、Google Apps Script の UrlFetchApp.fetch() による html の取得では、utf-8 以外の日本語を読み込むと文字化けしてしまいます。 この手の不具…
Chrome7(Windows)ではFlashで日本語入力ができないということで調べました。 見てみたら、wmode="opaque"がembedに入っていた。こちらでwmodeの指定はしていないのに勝手に入れてくれるみたい。 wmode: '' などと明示しておくとwmode=""になる。 以上の変更でChrome7での入…
エラー : attachment の Content-Disposition が設定されているので、~~のロードの試行に失敗しました。 上記が表示されFlashが表示されない。 Google CodeにSVNであげる途中で以上の設定を外すことはできないのかな~?
思ったとおり、パラレルにOAuth認証をしていくことができるようになったし、Docsの通信のつまりの解消もjsに委託するかたちにできた。 .prototypeを使うjsのプログラム作法を初めて取り入れて、でどうなるかと不安だったけど、チャカチャカ進んでくれて本当によかった。 でもいまいちよく分かってなくて、下手な手当てをした部分がある。以下。 Class.prototype = { ~…
バージョンを更新したときに、html、js、flashのいずれかが古いキャッシュのままで不具合が出る場合がある。 htmlとjsについては、同じxml内に置くことで解消できる。(でも、今は開発の便をとって分けている。 そして、web developer toolからキャッシュを無効にしている。通常のブラウジングが重くなるので辛い、、、) flashについては、urlにtimestamp…
OAuthの認証が済んだ段階で一旦リロード。リロードが済んだ段階でfile作成のリクエスト。 やはりリロードを入れると、異常な認証の解除はなくなった。 とりあえずほっとしましたが、gadgetコンテナ側がどうなっているのか?知識がないのがつらいところで、いろいろ試して場当たり的にやるしかない。。。 さて、ここまで踏まえて通信マネージャを書こうと思います。 クロスブラウザなifram…
急にSpreadSheetにあるconfigファイルの読み込みができなくなって驚いたけど、これはどこかで狼狽してSpreadSheetへのscopeを削っていたからみたいです。 以前Blogに書いたのは間違いで、OpenSocialからOAuthでのSpreadSheetへのアクセスは部分的に有効ということみたいです。 https://www.google.com/accounts/OAu…
OAuth認証をして、Docsの一覧を取得。 Oauth認証をして、Readerの一覧を取得。 に続いて、Docsにファイルを作ろうとすると、ErrorText に、No oauth_token returned from service providerが返る。 OAuth認証をして、Docsの一覧を取得。 続いて、すでにDocsにあったconfigを読みに行っても、No oaut…
OpenSocialからGoogle SpreadSheetを操作したかったのですが、残念ながらまだSpreadSheetはガジェットからのOAuth認可に対応していない様です。(iGoogleガジェットで確認) 認可画面では、なぜかGoogleDocsが表示され、認可ボタンを押してみてもSpreadSheetのFeedにはアクセスできません。 しかし、Google DocumentLis…
ずっと頭を悩ませ続けてきた認証周りがまとまってきた。 まずは、iGoogle を起動してのガジェットのトークン付きの URL の取得。 このトークンがないと、OAuth などの認可機構を用いたリクエストや、ソーシャル情報へのアクセスができない。 また以上のトークンを取得しても、iGoogle ではそもそも AppData の永続化情報にアクセスできない。(エラーが返る) iGoog…
全面Flashで作られたガジェットでの、OAuth認証プロセスで嵌った点をメモ。 Opera、Safari、Firefox、IEのそれぞれで、Javascriptまでを駆使するPopupブロックの回避法は、それぞれ違ったり、なかったり(?)するみたいということで、Flashのマウスイベント内に置いたnavigateToURL()で、認証画面を開く。 そのためのURL+パラメータは、gad…
これまでずっと ClientLogin で制作してきましたが、いよいよOAuth認証に差し替えです。 ガジェットコンテナによる OAuth のサポートには、URLに長々としたパラメータが必要です。(OAuth の他にも多くの機能が必要としてるみたいです) しかもそのパラメータは毎回変わります。 gadget の機能をフルに使うには、自身のMyページに登録してあり、パラメータが発行されていること、…
本日は、ガジェットのストレージについて、からはじめていろいろ調査した。 OpenSocial の AppData は10KBまで保持してくれるが、iGoogle 内のガジェットでないと機能しない。(正確には、http://k0v~~.ig.ig.gmodules.com/gadgets/ifr?url=http~~.xml以外のパラメータを削ってしまうと駄目で、このパラメータが毎回変わると…
OpenSocial ガジェットでのEmbedFlash(EmbedCachedFlash)の使い方 はじめに 朝起きてgadgetを見たら、急にFlashが表示されなくなっていて滝汗。。。 開発中ということでembedFlashは使わずに、getProxyUrlなフラッシュをswfobjectで埋め込んでいたのですが、getProxyUrlでswfをキャッシュしなくなったのかもしれま…