1

BlackBerry Facebook API を使用して、Facebook でユーザーを認証する BlackBerry 9930 シミュレーターでアプリケーションを作成しようとしています。ログインページには正常に接続されますが、その後、権限の確認を求めるとき、またはログインが成功したときに、アプリケーション全体がクラッシュします。

Facebookからログインがあるというメッセージを受け取ったので、認証プロセスがうまくいったことに気付きました.browserFieldまたはシミュレーターに問題があると思われます. (私は 3 つの異なる BB 7 シミュレーターを試しましたが、すべて同じでした)。

これを解決する方法はありますか?どうもありがとう。

4

1 に答える 1

1

誰も私に解決策を持っていないようです:(。しかし、それをいじった後、説明と解決策を見つけたので、これをあなたと共有する必要があると思います。応答が遅くなって申し訳ありませんが、 .

これが話です。

すでにご存じのとおり、資格情報を提供した後、Facebook は # 記号が後に続く URI でアクセス トークンを返します。現在、BlackBerry Facebook API は handleNavigation() メソッドをオーバーライドして、URL にアクセス トークンが含まれている場合は処理されないようにします。これは以前のバージョン (BB 7 より前) で機能していましたが、どういうわけか、BrowserField の URL リダイレクトは、handleNavigation() を呼び出すのではなく、handleResource() を直接呼び出しているようです (理由はわかりません。また、私の知る限りでは、この変更に関するドキュメントはどこにもありません)。結果?#access_token を含む URL を常に処理しようとします。

最悪の場合、BB BrowserField は # がページの一部 (存在しない) へのジャンプを意味すると考えます。他のブラウザー (BlackBerry Browser を含む) は既にそれを理解しているようで、画面に "Success" のみを出力しますが、BrowserField はそうではありません。それが起こったとき、アプリケーションは動作を停止してクラッシュし、ホーム画面に戻ってしまいました.

そこで、BlackBerry Facebook API のソース コードを変更して、URL に access_token が含まれているかどうかを handleResource() が自動的にチェックするようにしました。その後、アプリケーションは正常に動作します。

于 2012-01-30T15:52:25.397 に答える