2

今まで、古いチャット ログオン メカニズムを使用して Facebook チャット (「sig」パラメータを持つもの) にログインしてきました。

サポートが終了したので、新しい認証システムに対応するようにコードを変更しました (つまり、sig パラメータなし)。

チャレンジ段階の後に「応答」タグとして送信するこの種の文字列を作成しています。

api_key=<apikey>&call_id=<callid>&method=<method from challenge>&nonce=<nonce from challenge>&access_token=<access token>&v=1.0  

そして、次のようになります: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

以下は iOS だけで発生します。Android は正常に動作します (コードが正しいことがわかります)。これらのバージョンの違いは、iOS では暗号化されたアクセス トークンを取得し、Android では古いアクセス トークンを取得することです。

つまり、Android では 213458xx1425|1.BGgrgnfWrdpG_X18.3600.1213xxx135.2-1334679|dHcDbxGbeYxxxxx、iOS では AAAByQT1Vjdkxxxxxxxxxxxx

また、アプリのコントロール パネルにアクセスして、暗号化されたアクセス トークンのオプションを無効にしようとしましたが、何の効果もありませんでした。
Titanium の最後の SDK である 1.7.4 (v2011-10-21 18:18:15) を使用しています。

誰でもこの問題に光を当てることができますか? 私は解決策のない同様の問題を抱えている他の人を見ました。 Facebook チャットの統合

前もってありがとう、ネタネル。

4

1 に答える 1

0

コメントとして追加するのではなく、元の質問を編集してエラーメッセージを含める必要がありますが、残念ながらそのエラーは十分に説明的ではありません-認証フローで間違って実行した可能性のあるほとんどのエラーです。

  1. `/me/permissions を呼び出して、使用しているアクセス トークンに xmpp パーミッションが確実に付与されているかどうかを確認します ( https://developers.facebook.com/tools/explorerの Graph API Explorer を使用することもできます)。

  2. 可能であれば、呼び出している正確な URL をトレースして、必要なすべてのパラメーターが正しく入力されていることを確認します。

于 2011-10-27T13:58:35.610 に答える