未通过请求授予Facebook权限

时间:2015-05-13 14:10:37

标签: javascript facebook facebook-graph-api permissions facebook-fql

在所有权限下通过Facebook注册用户。但是在注册期间没有请求权限。

以下是步骤

  1. 添加了具有权限的Facebook登录窗口的java脚本调用。

    (function($) {
         window.fbAsyncInit = function() {
            FB.init({
              appId: '#{settings.facebookAppId}',
              status: true,
              cookie: true,
              xfbml: true,
              oauth: true
            });
          };
    
    var fbPermissions ="user_about_me,user_activities,user_birthday,user_checkins,user_education_history,user_events,user_groups,user_hometown,user_interests,user_likes,user_location,user_notes,user_online_presence,user_photo_video_tags,user_photos,user_questions,user_relationships,user_relationship_details,user_religion_politics,user_status,user_videos,user_website,user_work_history,email,read_friendlists,read_mailbox,read_requests,read_stream,xmpp_login,manage_friendlists,manage_notifications,user_online_presence,friends_online_presence,publish_stream";
    
    $(document).on('click', '.linkAccount', function(){
            FB.login(function(res) {
                var authToken =res.authResponse.accessToken;
                var auth = res.authResponse;
            }, { scope: fbPermissions });
        });
    
    1. 显示的Facebook登录窗口
    2. 用户将被要求获得许可,因为“将收到以下信息:您的公开个人资料和电子邮件地址”。
    3. 此处权限只询问电子邮件地址和个人资料。
    4. 没有权限要求其他范围如read_mailbox ...因此我们在调用FQL查询时收到错误。

      SELECT thread_id,body,viewer_id,message_id,source,author_id,created_time FROM message WHERE thread_id IN(SELECT thread_id FROM thread WHERE folder_id = 1)AND created_time< “+ daybeforenow +”ORDER BY created_time DESC“

    5. 将错误视为 {“需要扩展权限:read_mailbox”,“type”:“OAuthException”,“code”:298}

    6. 在用户脸书内的Facebook应用/设置中,已批准的列表仅显示电子邮件地址,个人资料。

  2. 试图解决这个问题。没有运气。社区帮助将非常感激。

1 个答案:

答案 0 :(得分:3)

你要求获得非常大量的权限......其中一些不再存在,其中一些永远不会被Facebook批准。如果您确实知道自己需要,请仅申请许可。不推荐使用FQL,不再使用它,它不适用于较新的应用程序。

关于权限,您应该阅读有关登录审核的Facebook文档:https://developers.facebook.com/docs/facebook-login/review/what-is-login-review

权限很可能不起作用,因为您没有尝试使用App Admin / Developer / Tester而且未获批准。