本日は深夜から作業した。まず、pureCssPopup でIE6だけスクロールバーが余分に表示されるのは、一度 DOM の操作を入れてやるなどすると、多分再計算されて不要なスクロールバーが消える。この問題は IE5、7、8では起きない。また LightBox でグレー背景用の要素を用意しているのは IE 対策だといまさら気付く。他のブラウザだとグレー背景専用の要素は要らない。 filter …
本日は久しぶりにガジェットOSの最新版をリリースした。 今回の版で、複数OAuth認可時の処理について、大方の決着がついた。 OAuth認可後の再リクエストの段階ではユーザーが認可したか?認可しなかったか?(操作をしないで窓を閉じた場合も含む)をガジェットが知ることはできない。 再リクエストで、データが返ってくれば認可は済んだことに。 エラーテキストが返ってきた場合は、Clear…
iGoogleの挙動が変わった。OpensocialのダミーリクエストでiGoogle内か?の判定ができない感じで固定したみたい、、、 本日はまず、リロードしたガジェットOSのページのアップグレードを自動でしてくれるようにする。 これで確認作業が一挙に簡単になった(^-^v ついで、FlashにPopupのclosedを通知するために、認可後にOAuthTokenリレーに飛ばしていたけ…
<script>タグで読み込んでいるoverrideIO.jsが回線の速度によっては読み込まれないまま実行されてしまっているみたいで、そのためガジェットOSの起動がこけていました。 gadgets.util.registerOnLoadHandler()から、overrideIO.js内の関数を呼んでいるのでてっきり大丈夫かと思いましたが、とある環境ではサッパリでした。 OAuth問題の…
はじめに この記事で紹介するパッチは、以下に報告した問題に対処するものです。 ▲ 2つ以上のOAuth認可をもつガジェットで遭遇した問題と対処 MA6表彰式で、 nakajiman さんにお会いしたおり、スコープのために頓挫した以前に変わるアプローチ法などをご教示いただきました。 ありがとうございました。 パッチとパッチ検証用ガジェット こうして 作成したパッチ と、 パッチの…
午前から取り組んだ、OAuthリクエスト修正用のgadgets.ioのパッチが夕方にようやくうまくいってくれた。 一箇所詰まって泣きかけた、、、 さっそく文章を書いてOpensocial-japanに投稿しようと思ったけど、動作実績がデモ用のガジェットだけではこころもとないことに気づき、パッチをガジェットOSにも適用した。 ガジェットOSの場合はiframeの管制をするFlash側も修…
まず、Mac版Firefoxについてはそのまま動作が確認できました。 以前の動的iframe周りの修正で、jsの処理に適宜にWaitやsetTimeout(func,0)を入れたためと思われます。 また、Mac版Safariは、Flashから開いたページがそのポップアップ元をwindow.opner(window.parent.opner)で見れないのが原因でした。 これも、Flash…
dojoというjsライブラリから動的iframeのコードを見てまねしてやったところ、Firefoxで狙ったとおりの動作が得られた。 dojoはiframeを使ったxdomain通信ライブラリなどのhack的な拡張が特徴らしいので、今回参考にしてみようと思いました。 ソースコードは以下で見れます。 iframeの生成 http://trac.dojotoolkit.org/brows…
思ったとおり、パラレルにOAuth認証をしていくことができるようになったし、Docsの通信のつまりの解消もjsに委託するかたちにできた。 .prototypeを使うjsのプログラム作法を初めて取り入れて、でどうなるかと不安だったけど、チャカチャカ進んでくれて本当によかった。 でもいまいちよく分かってなくて、下手な手当てをした部分がある。以下。 Class.prototype = { ~…
OAuthの認証が済んだ段階で一旦リロード。リロードが済んだ段階でfile作成のリクエスト。 やはりリロードを入れると、異常な認証の解除はなくなった。 とりあえずほっとしましたが、gadgetコンテナ側がどうなっているのか?知識がないのがつらいところで、いろいろ試して場当たり的にやるしかない。。。 さて、ここまで踏まえて通信マネージャを書こうと思います。 クロスブラウザなifram…
OAuth認証をして、Docsの一覧を取得。 Oauth認証をして、Readerの一覧を取得。 に続いて、Docsにファイルを作ろうとすると、ErrorText に、No oauth_token returned from service providerが返る。 OAuth認証をして、Docsの一覧を取得。 続いて、すでにDocsにあったconfigを読みに行っても、No oaut…
ずっと頭を悩ませ続けてきた認証周りがまとまってきた。 まずは、iGoogle を起動してのガジェットのトークン付きの URL の取得。 このトークンがないと、OAuth などの認可機構を用いたリクエストや、ソーシャル情報へのアクセスができない。 また以上のトークンを取得しても、iGoogle ではそもそも AppData の永続化情報にアクセスできない。(エラーが返る) iGoog…
iframe の URL を動的に生成して通信を行っていますが、firefox でキャッシュがききまくる、という問題に遭遇して振り回されていた、その解決法です。 まずは症状ですが、ページを起動してある段階でページ内の空の iframe にページを読み込ませます。 続いて、そのページを F5 更新すると、読み込み直後は空であるはずの iframe で、すでに先ほどと同じページが読み込…
これまでずっと ClientLogin で制作してきましたが、いよいよOAuth認証に差し替えです。 ガジェットコンテナによる OAuth のサポートには、URLに長々としたパラメータが必要です。(OAuth の他にも多くの機能が必要としてるみたいです) しかもそのパラメータは毎回変わります。 gadget の機能をフルに使うには、自身のMyページに登録してあり、パラメータが発行されていること、…