У меня проблема, и я не знаю, почему, надеюсь, вы могли бы мне помочь!Facebook Graph Api OAuthException, но токен доступа действителен
Я разрабатываю приложение для Android, которое использует графику facebook api. В нем используется считывание «user_likes». Когда я делаю этот запрос: «me/likes» все работает нормально. Но когда я это сделать: меня/любит поля = события {обложка}, имя
Я получаю OAuthException. ErrorMessage: активный маркер доступа должен быть использован для запроса информации о текущем пользователе
В заключении:
- я получаю действительный маркер доступа со всеми необходимыми разрешениями.
- Я администратор моего приложения, так что политика конфиденциальности facebook не должна играть никакой роли!
- Запрос
me/likes
работает, но
me/likes?fields=events
не работает!
Ответ я получаю:
{Response: responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 2500, errorType: OAuthException, errorMessage: An active access token must be used to query information about the current user.}, isFromCache:false}
Так я debuged мой Access-Токен:
Выпущено: 1420803216 (4 часа назад)
Истекает: 1425987216 (примерно 2 месяца)
Действительно: True
Происхождение: Мобильный веб-сайт Faceweb
Области применения: public_profile, basic_info, электронная почта, user_birthday, USER_LOCATION, user_likes, user_friends
Я реально не понимаю, почему мой маркер доступа имеет так много областей? Я просто установил «user_likes»!
loginBtn.setReadPermissions(Arrays.asList("user_likes"));
Это мой код:
private LoginButton loginBtn;
private TextView username;
private UiLifecycleHelper uiHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
uiHelper = new UiLifecycleHelper(this, statusCallback);
uiHelper.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (TextView) findViewById(R.id.username);
loginBtn = (LoginButton) findViewById(R.id.fb_login_button);
loginBtn.setReadPermissions(Arrays.asList("user_likes"));
loginBtn.setUserInfoChangedCallback(new UserInfoChangedCallback() {
public void onUserInfoFetched(GraphUser user) {
if (user != null) {
username.setText("You are currently logged in as "
+ user.getName());
} else {
username.setText("You are not logged in.");
}
}
});
}
private Session.StatusCallback statusCallback = new Session.StatusCallback() {
public void call(Session session, SessionState state,
Exception exception) {
if (state.isOpened()) {
Log.d("MainActivity", "Facebook session opened.");
} else if (state.isClosed()) {
Log.d("MainActivity", "Facebook session closed.");
}
}
};
@Override
public void onResume() {
super.onResume();
Session session = Session.getActiveSession();
if (session != null && (session.isOpened() || session.isClosed())) {
onSessionStateChange(session, session.getState(), null);
}
uiHelper.onResume();
}
private void onSessionStateChange(final Session session,
SessionState state, Exception exception) {
if (state.isOpened()) {
// userInfoTextView.setVisibility(View.VISIBLE);
String token = session.getAccessToken();
Log.d("SESSION_TOKEN", token);
new Request(session, "me/likes?fields=events", null, HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
Log.i("INFO", response.toString());
// new
// GetResponses(userInfoTextView).execute(response);
}
}).executeAsync();
} else if (state.isClosed()) {
// userInfoTextView.setVisibility(View.INVISIBLE);
}
}
Что я делаю неправильно? Я думаю, что что-то с моей сессией или запросом на разрешение неверно ... я надеюсь, что кто-то может мне помочь!
вид касается Christoph
Уже сделано ... он истекает примерно через 2 месяца, он действителен и все разрешения доступны! public_profile, user_birthday, user_location, user_likes, user_events – user3490546
, тогда вы не используете токен доступа в вызове, это будет единственным объяснением, так как оно отлично работает в api explorer. – luschn
Я попробовал токен доступа от android-app в графике explorere, и он сработал! Но когда я делаю тот же запрос в приложении Android, я всегда получаю сообщение об ошибке. [screenshot] (http://c50i.imgup.net/GraphApiCa8655.JPG?l=de) – user3490546