私のアプリでは、ユーザーが FB で共有するたびにではなく、初めて「publish_actions」権限を要求しています。
ただし、v2.2 で facebook によって行われた変更により、ユーザーに権限を要求するときに、権限を付与しないか、Facebook の設定ページで取り消すかを決定できるようになりました。
「ユーザーは、ログイン後いつでも、Facebook のインターフェイスでアプリに付与された権限を取り消すことができます。特に新しいプラットフォームで起動する場合は、どの権限が付与されているかをアプリが定期的に確認することが重要です。」( https://developers.facebook.com/docs/facebook-login/permissions/v2.2#checking )
これが、Facebook が、ユーザーがアプリに対して付与および拒否したパーミッションをチェックする機能を追加した理由です。これは、いつパーミッションを要求するか、いつ要求しないか、およびいつ再要求するかを検出するためです。
これにより、いくつかの疑問が生じます。
- ユーザーがアプリへのアクセスを拒否したとき、showDialog 関数のリスナーはフィールド isError = true の応答を受け取りましたが、何が問題だったのかについての説明はありませんでした。私は次のようなものを期待していました: (前のリンクの「不足しているアクセス許可の処理」セクションを参照)
{ "error": { "message": "(#200) The user hasn't authorized the application to perform this action", "type": "OAuthException", "code": 200 } }
Facebookライブラリでユーザーの権限を確認する方法はありますか?
アクセス許可が取り消された場合に、アクセス許可を再要求する方法はありますか? Facebook によると、許可を求めるだけでは、追加情報がないと機能しません。
誰かがアプリのパーミッションを拒否した場合、 request と共に auth_type=rerequestを渡さない限り、ログイン ダイアログでアプリがパーミッションを再リクエストすることはできません。
大きな問題は、コロナは Facebook の v2.2 パーミッションの変更に適応しているのかということです。