Я пытаюсь получить список страниц Facebook test_user, я создал test_user и дал ему разрешение manage_pages и многие другие разрешения, просто чтобы убедиться, что проблема не вызвана недействительными разрешениями, а затем я создал test_page с помощью этого пользователя.
И когда я вставляю Access_token test_user в графическом обозревателе, я вижу свои страницы в списке пользователей или в списке параметров страницы.
эта картина показывает эту ситуацию
Итак, если я выбрал одну из своих страниц, я могу сделать любой запрос, который захочу.
Но мне нужно получить список пользовательских страниц, и когда я пытаюсь это сделать, я получаю (Ошибка недопустимого access_token).
Что я пробовал:
- Я следовал этому ответу , и это не помогло.
- Я пытался увеличить Время истечения доступа к данным
- Я создал более одного тестового пользователя и дал им все возможные разрешения.
Мой код:
Код входа:
// Granting read permissions
m_loginButton.setReadPermissions(Arrays.asList("email", "pages_show_list"));
m_loginButton.registerCallback(m_callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "Login successfully");
// if login succeeded ask for publish permissions.
Collection<String> permissions = new ArrayList<String>();
permissions.add("manage_pages");
permissions.add("publish_actions");
LoginManager.getInstance().logInWithPublishPermissions(LoginActivity.this,permissions);
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
@Override
public void onCancel() {
Log.d(TAG, "Login canceled");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, "Login failed with error :" + error.getMessage());
}
});
Где я пытаюсь получить список страниц пользователя:
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try{
Log.d(TAG, "User Pages : " + object.toString());
}
catch (Exception e){
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday, ids_for_pages");
request.setParameters(parameters);
request.executeAsync();
Здесь, когда я добавляю поле ids_for_pages, я получаю Недопустимое сообщение об ошибке access_token