Facebook OAuth ダイアログは、ユーザーが以前にアプリケーションへのアクセスを承認し、すべての権限を提供した場合、プロンプトなしで指定された redirect_uri にリダイレクトされます ...
その動作を上書きして、ダイアログでユーザーに再度許可を求めるように強制したい...
ドキュメントには、これが可能かどうかについてのヘルプが提供されていないため、これが可能かどうか疑問に思います。
Facebook OAuth ダイアログは、ユーザーが以前にアプリケーションへのアクセスを承認し、すべての権限を提供した場合、プロンプトなしで指定された redirect_uri にリダイレクトされます ...
その動作を上書きして、ダイアログでユーザーに再度許可を求めるように強制したい...
ドキュメントには、これが可能かどうかについてのヘルプが提供されていないため、これが可能かどうか疑問に思います。
なぜこれをしたいのですか?ユーザーにパーミッション ステージを通過させることは、多くの場合、多くのトラフィックを失う重要なステップです。とにかく、ポップアップが表示されるときは、Facebook によって完全に管理されているため、許可を既に行っている場合に許可を受け入れるように求めることはできません。リクエストが再度表示されるのは、最初にアクセス許可を取り消した場合、またはアプリがリクエストされているアクセス レベルを上げた場合のみです。
Facebook APIでOAuthを使用したことはありませんが、あなたの質問を正しく理解していれば、これができる1つの方法です。
ユーザーが以前にアクセスを承認した場合はプロンプトなし
Facebook がユーザーをアプリケーション (redirect_uri) にリダイレクトすると、承認付与が欠落していることがわかります。これにより、ユーザーが要求を承認しなかったと判断できます。
ダイアログでユーザーに再度アクセス許可を求めるように強制する
次に、新しいトークンの別のリクエストを行うことができますが、トークンのアクセス許可は制限されており (明らかにユーザーが以前のスコープ リクエストを承認していないため、スコープ アクセスが制限されています)、ユーザーは新しいアクセス許可のセットでリクエストを承認するように再度求められます。これは私が行う方法であり、ユーザーが最初にリクエストを拒否したときにほとんどのアプリケーションが行う方法だと思います。
auth.revokeAuthorizationを呼び出すことができます。現在、このためのグラフAPIメソッドはなく、メソッドが存在するまで削除されるとは思わないため、残りのAPIは非推奨であると言われていることを心配しないでください.