Отклонение разрешения facebook sdk для Android

Работа в Facebook для Android-приложения. Не удалось получить разрешение на публикацию. Когда я запрашиваю разрешение, оно добавляется для отклонения разрешений. Какие-либо предложения.

открытый класс MainActivity расширяет Activity, реализует OnClickListener {

private static final String PERMISSION_PUBLISH = "publish_actions";

private TextView textView;
private Button check;
private Button ask;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    textView = (TextView) findViewById(R.id.textView1);
    check = (Button) findViewById(R.id.check_per);
    ask = (Button) findViewById(R.id.get_per);
    check.setOnClickListener(this);
    ask.setOnClickListener(this);
    findViewById(R.id.post).setOnClickListener(this);

    Session.openActiveSession(this, true, new StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session != null && session.isOpened()) {
                session.refreshPermissions();
                Request.newMeRequest(session, new GraphUserCallback() {

                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        updateUi(user);
                    }
                }).executeAsync();
            }
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Session session = Session.getActiveSession();
    if (session != null) {
        session.onActivityResult(MainActivity.this, requestCode, resultCode, data);
        session.refreshPermissions();
    }
    super.onActivityResult(requestCode, resultCode, data);

}

private void showToast(String msg) {
    Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
}

public void updateUi(GraphUser graphUser) {
    textView.setText(graphUser.getFirstName());
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.check_per:
        checkForPermission();
        break;
    case R.id.get_per:
        getPermission();
        break;
    case R.id.post:
        post();
        break;
    default:
        break;
    }
}

private void checkForPermission() {
    Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
        // --- Shows PEMISSION_PUBLISH in declined permission not in
        // permission granted
        List<String> permissions = session.getDeclinedPermissions();
        showToast("size : " + permissions.size());
        for (int i = 0; i < session.getDeclinedPermissions().size(); i++) {
            showToast("Has permission : " + permissions.get(i));
        }
    }
}

private void getPermission() {
    Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
        NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(MainActivity.this, PERMISSION_PUBLISH);
        session.requestNewPublishPermissions(newPermissionsRequest);
    }
}

private void post() {
    Request.newStatusUpdateRequest(Session.getActiveSession(), "Status Update", new Request.Callback() {
        @Override
        public void onCompleted(Response response) {
            if (response != null)
                showToast(response.toString());
        }
    }).executeAsync();
}

}


person user3584264    schedule 15.05.2014    source источник
comment
Это может быть вам полезно! Удачи :)   -  person user3404836    schedule 15.05.2014
comment
Все перепробовал.. Все еще не работает, можете объяснить, пожалуйста...   -  person user3584264    schedule 15.05.2014


Ответы (1)


Вам следует перейти в настройки приложения на сайте developer.facebook.com, на вкладку «Статус и проверка» и отправить запрос группе проверки Facebook, см. https://developers.facebook.com/docs/apps/review/ для получения подробной информации.

person anber    schedule 06.06.2014