2011-10-11 6 views
9

私はアンドロイドアプリにFacebook android sdkを使用しています。私の開発版を開発している間、すべて私のアプリでうまくいっていた。私は最終的に国民に私のアプリを公開する際ときに人々が私のアプリを認証しようとすると、Facebookのauthenicationは醜いエラーを吐く:FacebookのAndroidスマートフォンでsdkがリダイレクトしています。

API Error code: 100 
API Error description: Invalid parameter 
Error Message: Requires valid redirect URI 

は、Facebookが思うように私は彼らにリダイレクトするブラウザを行うと、欠けているようです私はこのすべては開発中にうまく働いたとだけあった言ったように

facebook.authorize(this, new String[] { "email", "publish_stream" }, new FBLoginDialogListener()); 

:私のアプリに戻るには、URIをリダイレクトするが、私はあなたがリダイレクトURIを送信しないでアンドロイドSDKを使用しています、あなたはコールバックリスナーを持っています私のプロダクト版をリリースした後にアップしているので、devアプリのセットアップとfbのプロダクトセットアップの両方をチェックしたところ、どちらも同じです。

他にもこの問題がありますか?

更新:ユーザーが自分のアプリケーションにログインできるようにしても、私のアクセス許可を受け入れない場合にのみ、このエラーが発生するようです。うーん。たぶん私はいくつかの状況を処理していないが、エラーはまだ私には意味がありません。

+0

Androidハッシュを正しく入力しましたか?それは貧しいエラーメッセージです、私は同意しますが、それはあなたの設定に関連する可能性がありますように聞こえる。あなたのアプリIDを私に送ったら、調査することができます。 –

+0

ハッシュが正しい場合、このメッセージの前にスローされるため、ハッシュは正しいです。私は許可を受け入れると、このエラーを越えることができますが、もし私が(私が偶然によってした)許可しないなら、私は将来私が許可することから私をロックします。私はFacebookのアカウントの設定からアプリを削除することでこれを回避することができましたが、私はこの状態でユーザーが立ち往生するのが嫌いです – MattoTodd

+0

iPhone SDKで同じ問題が発生しています。この問題は3日前に始まりました。それを解決する方法はわかりません。 –

答えて

1

私はFacebookでそれほど多くのことをしていませんが、私はあなたが誤解しているものはRedirect URLです。それは成功それはブラウザにリダイレクトしませんが、それはFacebookのSDKのプロバイダー呼び出された場合 Facebookのクラスでは、ユーザーをリダイレクトするためのパラメータREDIRECT_URIがある

public static final String REDIRECT_URI = "fbconnect://success"; 

この行を参照してください、あなたのアプリケーションでこの行のチェック私は間違っているかもしれないそのプロバイダを内部的に呼び出すように、fbconnectのようなFacebookのAPIにいくつかのコンテンツプロバイダがあると思います。

ありがとうございました。

+1

と私はブラウザに私をリダイレクトしたくありません。私が言ったように、これは私のアプリに署名し、私のprodアプリで指摘するとすぐに、私の開発版とうまくいっていた、それは爆破する。 – MattoTodd

0

私は同じ問題を抱えていました。私のアプリは昨日完璧に動作し、今日はそれを実行しようとしたときに全く同じメッセージが表示されました。私が試みたのは、アプリを再インストールして電話を再起動することですが、どちらもうまくいきませんでした。それから私はAndroid用のFacebookをアンインストールします(自分で開発したアプリではありません)。理由が分からないあなたの携帯電話でAndroid用Facebookをアンインストールし、それが動作するかどうかを確認しようとしますか?

1

私はこのような問題も抱えています。新しい拡張アクセス許可を求めるときに、facebookに同じエラーメッセージが表示されます。私は回避策があると思います:「ユーザーと友人のアクセス許可」(つまり「user_status」)と「拡張アクセス許可」(つまり「read_stream」)セクションからの新しいアクセス許可を使用して、新しいアクセス許可をリクエストしてみてください。 許可がhttp://developers.facebook.com/docs/reference/api/permissions/に記載されています あなたにも役立つことを願っています。

0

ここで全く同じ問題...時間のためにそれを追いかけられて... I上記のヒントに

おかげで一歩前進してきました。

私はユーザーのステータスを更新するアプリを書いています。新しいFacebookのレイアウトでは、これはユーザーの壁に投稿するのと同じです。

これを行うには、両方の権限が必要です({"user_status"、 "publish_stream"})。私はuser_statusが私にステータスオブジェクトへのアクセスを与えてくれると思うし、publish_stream( "拡張"パーミッション)は私に書き込みアクセス権を与える。

私が見つけたアクセス許可を試しているときには、次のようなことがあります。アプリケーションの権限を変更した場合は、次のことをお勧めします。 - コンピュータのWebブラウザでfacebookアカウントにアクセスします。上部の[ホーム]の横にある矢印をクリックしてアカウント設定を選択し、左側の[アプリ]を選択します。ここからあなたのアプリを削除してください。 - Androidデバイス(またはエミュレータ)設定 - >アプリケーション - >管理に移動します。その後、アプリケーションをアンインストールします。その後、同じメニューから強制的にFacebookアプリケーションを終了します。

これらの手順を完了したら、別の権限でアプリケーションを再デプロイするためのクリーンシートが必要です。私はFacebookのアプリが何かをキャッシングしているという事実と、この問題の原因となっているあなたのFacebookアカウントに既にパーミッションが記録されているということです。あなたが適切に選択されたバージョン間でアプリケーションのパーミッションを変更するならば、コードに実装できるきれいなソリューションがあるかもしれません。

私のアプリは今=ステータスの更新をしている)

0

上のアプリの詳細設定で強化された認証ダイアログを無効にすることで、この問題を解決しました埋め込みブラウザOAuthログイン "とを入力して、を入力して、Adobe AIRアプリケーションがブラウザに埋め込みFB認証を組み込んだ