2013-11-18 1 views
1

После этого я нажимаю кнопку «» на Facebook 'и войдите в систему, это сработает. Проблема заключается в разрешении на некоторые вещи, которые мне нужны для моего приложения.Права на Facebook SDK

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.activity_social_login, container, 
      false); 
    LoginButton authButton = (LoginButton) view 
      .findViewById(R.id.authButton); 
    authButton.setFragment(this); 
    authButton.setReadPermissions(Arrays.asList("name", "user_birthday", 
      "friends_birthday")); 

Когда я прокомментирую эту строку, все будет работать хорошо.

authButton.setReadPermissions (Arrays.asList ("название", "user_birthday", "friends_birthday"));

Но когда я удалю комментарий, я получу эту ошибку.

11-18 13: 16: 03,983 D/FacebookSDK.WebDialog (2362): Перенаправление URL: fbconnect: // Успех код_ошибки = 100 & error_message = Недопустимый + Сфера% 3A + название & э2э =% 7B% 22init% 22% 3A1384798557797% 7D

Кто-то знает об этой ошибке? Недопустимое значение & имя, что-то связанное с API-интерфейсом Graph?

спасибо.

ответ

1

Когда вы открываете свое приложение для редактирования настроек на сайте разработчиков Facebook, есть боковая панель с разрешениями. Просто введите те, которые вам нужны в расширенных разрешениях. Я знаю, что это скорее работа, но ее лучший вариант с минимальным кодом, который вы предоставили.

вот пример

// set permission list 
      authButton.setReadPermissions(Arrays.asList("basic_info","email")); 
      // session state call back event 
      authButton.setSessionStatusCallback(new Session.StatusCallback() { 

      @SuppressWarnings("deprecation") 
     @Override 
      public void call(Session session, SessionState state, Exception exception) { 

      if (session.isOpened()) { 
         Log.i(TAG,"Access Token"+ session.getAccessToken()); 
         Request.executeMeRequestAsync(session, 
           new Request.GraphUserCallback() { 
            @Override 
            public void onCompleted(GraphUser user,Response response) { 
             if (user != null) { 
             Log.i(TAG,"User ID "+ user.getId()); 
             Log.i(TAG,"Email "+ user.asMap().get("email")); 
             Log.i(TAG,"Name "+ user.asMap().get("name")); 
             uName = user.asMap().get("name").toString(); 
             savePreferences(); 
             restorePreferences(); 

                         } 
            } 
           }); 
        } 

      } 
      }); 
+0

Спасибо большое за это. Нашел его и сделал «user_birthday» и «friends_birthday» :-) Но не нашел «имя, полное имя, имя или фамилию». – DMT82

+0

он должен работать только с именем. Я считаю, что – user2383106

+1

включил пример – user2383106