web-dev-qa-db-ja.com

認証ダイアログへのリダイレクト-「エラーが発生しました。しばらくしてからもう一度お試しください」

なぜ私にはいつもそうなるのですか?

これは、アプリケーションがユーザーユーザーログインを確認し、ユーザーを認証ページにリダイレクトした後に発生します。

https://www.facebook.com/dialog/oauth?client_id=XXX&redirect_uri=http%3A%2F%2Fexample.com%2Fmyappname%2F&state=YYYYYY&scope=offline_access%2Cpublish_actions

ただし、Facebookは認証ページを表示する代わりに、

エラーが発生しました。後でもう一度やり直してください。

ユーザーの認証を試みる前に行う必要のある構成はありますか?

すべてはPHPでPHP-SDKクラスを使用して行われます。

49
Wanderson Silva

サイトのドメインを変更した後も同じ問題が発生しました。 request_uriパラメーターを適切に変更し、新しいドメインでアプリの設定を更新しましたが、エラーが表示され続けました。その後、FacebookアプリのIDとSECRET IDが警告なしで自動的に変更されたことに気付きました!!新しいIDを使用して、全体が再び機能し始めました。

38
albert

私はあなたと同じ問題を抱えています。

Facebook Developers Appsページで、Sandboxモードが無効になっていることを確認します。

enter image description here

64
dxit

これは私にも起こっていましたが、すべてのAPIキー、シークレット、およびものは正しいものでした。私が見つけたのは、アプリがサンドボックスモードで実行されていたことです。 https://developers.facebook.com/ でアプリの設定に移動し、[詳細設定]タブをクリックして、アプリがサンドボックスモードになっているかどうかを確認します。無効になっている場合は、再試行してください。動作するかどうかをお知らせください。

16
Juank

http://mysite.comから始めていたが、Facebook設定でhttp://WWW.mysite.comを指定していたため、このエラーが発生していました-wwwが問題になりました。 、FBをhttp://mysite.comに向けます

最悪。サブドメイン。今まで。 :u)

7
case2000

Dialoguesを使用する場合、Facebookはデフォルトでnoに設定される 'show_error'属性を提供しますが、開発環境ではtrueに設定でき、デバッグに非常に役立ちます。

show_error-これをtrueに設定すると、エラーが発生した場合にエラーコードとエラーの説明が表示されます。

その使用方法は Facebook Docs にあります。

「エラーが発生しました。後で試してください。」をデバッグしていました。ドキュメントでこの属性を見つける前のダイアログ。使用を開始すると、次のメッセージも表示されます。

APIエラーコード:191

APIエラーの説明:指定されたURLはアプリケーションによって所有されていません

エラーメッセージ:redirect_uriはアプリケーションによって所有されていません。

7
Pete

私にとってこれは、作成した「テストユーザー」が別のアプリの一部だったために発生しました。このアプリのテストユーザーを作成し、正常に動作するようになりました。

私が知っている私の愚かなことですが、これは誰か他の人の手間を省くことができます。

5
James Pelton

同じ問題がありました。 FBにはstring appIDが必要であり、intではないことが判明しました ...

//DOESNT WORK:
$facebook = new Facebook(array(
  'appId'  => 147XXXXXXXXXXX,
  'secret' => 'XXXXXXXXXXXXXX',
));

// WORKS:
$facebook = new Facebook(array(
  'appId'  => '147XXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXX',
));
5
JaredBroad

私にとっての解決策は、オプション「認証された紹介」を有効に設定することです。その後、本当に修正されました。

Fix permissions error

3
FelikZ

サイトの適切なURLとドメインを使用するようにアプリが構成されていることを確認してください。それかもしれません。

3
SBerg413

OAUTH Dialog documentation:

*redirect_uri:ユーザーがダイアログのボタンをクリックした後にリダイレクトするURL。指定するURLは、アプリの設定で指定されているのと同じベースドメインのURL、 https://apps.facebook.com/YOUR_APP_NAMESPACE ... *の形式のCanvas URLである必要があります

oauthリンクを動的に構築して、必要に応じてユーザーに追加のアクセス許可を要求し、あなたが https://apps.facebook.com/YOUR_APP_NAMESPACEにリダイレクトしている場合でも アプリケーション管理でアプリドメインとウェブサイトの設定を行う必要がありますドメインをfacebook.comに、ウェブサイトをfacebookのルートURLに設定します。

現在、私のoauthダイアログリンクは正常に動作します-サンドボックスモードでも。

3
Tomas Molnar

この正確な問題はPage Tabアプリで発生しましたが、私の人生では問題が何であるかを判断できませんでした。テストページでは機能していましたが、ライブにするとすぐに機能しませんでした。最終的に、ページタブに実際のURLを挿入することで問題を解決したことがわかりました(つまり、http://www.facebook.com/<"page_name">/app_<"app_id">)[ウェブサイト]の下の[サイトURL]に移動します。これは意味がありません。しかし、それは働いた:-)

3
Owen Davey

また、間違ったリダイレクトリンクの問題がありました。「https://apps.facebook.com?myapplication」で始まるリンクがありましたが、承認後、リダイレクトによって「apps.facebook.com/Myapplication」に移動しました。その結果、上記のメッセージが表示されます。「エラーが発生しました。後でもう一度試してください。」 「apps.facebook.com」...は「HTTPS://apps.facebook.com /、...」ではなく「http://apps.facebook.com/Myapp」を意味するため

解決策:Facebook開発者セクションのアプリケーション設定に進みました。 「編集」をクリックしました。左側のメニューで[アクセス許可]を選択し(デフォルトではメニューは[基本]に設定されています)、新しく開いた設定で[認証トークンパラメーター]を[クエリ文字列]から[URLフラグメント]に変更しました。

動いた!認証が完了すると、ユーザーは「https://apps.facebook.com/myapp ...」に移動します

2
anne

すべてのコードが正常に機能している場合、そのようなタイプのエラーを削除するには、Facebook Developers Appsにアクセスして、サンドボックスモードを無効にします。

2
Suraj

「appID」と「secret」を更新し、変更をherokuにプッシュした後、問題は解決しました(つまり、「git Push heroku master」)

重要なのは、変更をherokuマスターにプッシュバックすることを忘れないことです。 localhostでのテストに慣れている場合、見落としがちです。

お役に立てれば。

2
edwinjue

もう1つの間違いとして、Facebook SDKのサンプルからコードを直接コピーした場合、すべてが正しいにもかかわらず同じエラーが発生する可能性があります。 http://developers.facebook.com/docs/reference/php/

これは、彼らの例では、配列のキーに単一引用符の代わりに逆引用符を使用しているためです。正しいコードは次のとおりです。

require_once("facebook.php");

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);
2
Sanket Sahu

私にとっての問題は、アプリのテストに使用していたFacebookユーザーが、Facebookによって確認されたメールアドレスを持っていないことでした。

私のクライアントは、Facebookに2つの偽のアカウントを設定し、それらが機能していないと言っていました。しかし、彼はそれらのアカウントのメールアドレスを確認するのを忘れていました(Facebookが送信したメールは自分のスパムフォルダに送られたので気づきませんでした)。

これを見つけるのに何時間もかかったので、誰かの助けになることを願っています。

乾杯!

2
Tiago

2015年の回答

サンドボックスモードはなくなりました。

My Apps -> Your App -> Status & Reviewに進み、次の場合にスライダーをyesに変更します。

このアプリとそのすべてのライブ機能を一般に公開しますか?

enter image description here

1
Abram

私は自分でこの問題に遭遇しました。内部でアプリを開発しているので、ホストは「localhost」です。アプリの構成で「localhost」を設定する方法は明らかではありませんでした。ローカルで開発する場合は、次の手順に従ってアプリをセットアップします。

  1. Facebookアプリを管理する場所に移動します。具体的には、「設定」メニューの下の「基本」になります。
  2. 「App Domain」に「localhost」を追加します。
  3. 「アプリとFacebookの統合方法の選択」で、「Webサイト」を選択し、「http:// localhost /」と入力します。

情報が伝わるまで数分待ってから待ってください。ただし、すぐに機能しました。

1
Me Too

私は、米国の居住者のみがアプリを使用できるというアプリに制限を設けました。このエラーメッセージが表示されたとき、私はカナダで働いていました。制限を削除した後、すべてが機能しました。

1
Chris

ここにも同様の問題があり、はい、私のサンドボックスが有効になりました。私はそれを無効にし、出来上がり、ログインの問題はなくなりました。 Facebookはこれらのユーザーにアプリの表示を許可しているため、この問題は開発者やWebサイト管理者に影響を与えないことを警告する必要があります。このため、まったく問題なくログインできたため、ユーザーがログインできないことについて不平を言うことすら信じられませんでした。

1
LizardKG

私は同じ問題を抱えていましたが、URLにparam&display = touchを追加して修正しました

試してください、それは役立つかもしれません

1
Sergey Nikolaev

Appidを確認し、 https://developers.facebook.com/ でサイトURLモバイルサイトURLを更新したことを確認します

0
shaik

アプリ開発者の場合、より具体的なエラーメッセージが表示される場合がありますが、一般的にそのメッセージは次の2つのいずれかを意味します。

  1. サーバーがHTTPエラーコード(通常5xx)を返しました
  2. ログイン後、アプリの構成で許可されていないURLにユーザーを送信しようとしました(ただし、アプリの管理者として、この場合はより具体的なエラーメッセージとFacebookエラーコードが表示されます)
0
Igy

私はあなたが答えを得るかもしれないことを知っていますが、これは解決策を得るためにまだスレッドを下っている人たちのためです。

Uは上記のすべての解決策を試すことができますが、別の解決策を確認する前にデバイスまたはシミュレータから以前のアプリを削除してください

すべてのソリューションを試してみましたが、以前のアプリを削除していないため応答が得られず、ビルドをクリーンアップするだけでは条件が満たされません。 :)

0
mAc

設定>詳細設定>セキュリティ>有効なoauthリダイレクトURI

enter image description here

0

リダイレクトURIでhttp://を指定する必要があります。

0
Chris Kirby

私にとって問題は、アプリのURLが実行中のURL(つまり、異なるディレクトリ、同じドメイン)と完全に一致しなかったことです

0
Click Upvote

私は同じ問題に直面し、理由は私のapp was not liveおよび公開されています。

設定タブの連絡先メールにメールIDを追加し、アプリをライブにします(以前はライブにするために無効にされていました)。

私のアプリをライブにした後、適切な画像、タイトル、説明を共有ダイアログに表示し、下にアプリ名を表示します。

0
RN Kushwaha

ここで述べたすべての答えを試しました。しかし、うまくいきませんでした。削除して再度作成する必要がありました。私はそれが新しい「認証された紹介」によるものだと推測しています。承認されていないOpen Graphオブジェクトを追加した場合、エラーが発生する可能性があります。

0
Rahul

redirect_urlの代わりにredirect_uriをパラメーターとして使用していたため、このエラーが発生しました。

サーバー側認証 docページは、redirect_urlを使用するように言っています:

https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_url=YOUR_REDIRECT_URI
   &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
   &state=SOME_ARBITRARY_BUT_UNIQUE_STRING

しかし、これは間違っています。 OAuthダイアログ docは、代わりにredirect_uriを使用するように指示していますが、これは機能するため、一方のみを使用し、他方は使用できないと想定しています。

https://www.facebook.com/dialog/oauth/?
    client_id=YOUR_APP_ID
    &redirect_uri=YOUR_REDIRECT_URL
    &state=YOUR_STATE_VALUE
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
0
user456814

私の場合の理由は完全に異なっていました。ページの読み込み後にフィードダイアログを自動的に開こうとしていました。そして、10回の9回でこのエラーが表示されました。最初に、@ Peter Roomeが示唆するようにshow_error: trueパラメーターを追加しましたが、助けにはならず、104: Invalid signatureを表示しますが、まったく説明的ではありません。

それから私は理由を理解しました。コードは$(document).ready jQuery関数にありました。また、コードが実行される時点で、Facebookのものがまだロードされていなかったようです。コードを$(window).loadブロック(すべてのページコンテンツが読み込まれた後に実行されます)に移動しましたが、問題は解決しました。

0

このタイプのエラーを解決する可能性はありません。そのため、facebookに表示されているのと同じカスタムダイアログを使用し、ログインせずに何度もメッセージを投稿する方が良いでしょう。 Facebookからアプリを削除しても、ログインを要求してメッセージを正常に投稿できます。

0
Hetal Modi

私は同じ問題を抱えていて、根本的な原因は異なっていました:

別のアプリケーションのテストユーザーとしてログインしました。そのため、テストユーザーが作成されたアプリではないアプリを承認できませんでした。

ログアウトして、認証しようとしたアプリの通常ユーザーまたはテストユーザーとしてログインすると、すべてが正常でした。

0
yonix

私の場合、アプリで使用されているアカウントに年齢の問題がありました。

FBアプリにアルコールコンテンツがある場合、21歳未満のFBユーザーは、FBアプリで認証しようとするとエラーをスローします。

0
Chris