Facebook Login - запомнить токен / логин для следующего использования? - PullRequest
0 голосов
/ 27 марта 2019

Я создал приложение на странице Facebook для разработчиков; с именем пакета Google Play, установленным в com.seananderson.myapplication, которое соответствует имени, используемому в моем приложении, и именем класса, установленным в com.seananderson.myapplication.FacebookFragment, который является классом / фрагментом, который обрабатывает мою регистрационную информацию Facebook.

В моем классе у меня есть:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    myView = inflater.inflate(R.layout.fragment_facebook, container, false);

    LoginButton loginButton = myView.findViewById(R.id.login_button);
    loginButton.setReadPermissions(Arrays.asList("email"));

    AccessToken accessToken = AccessToken.getCurrentAccessToken();
    if (accessToken == null || accessToken.isExpired()) {
        LoginManager.getInstance().logOut();
    }

    callbackManager = CallbackManager.Factory.create();

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            tokenValue = loginResult.getAccessToken().getToken();
            TextView pageNameTV = myView.findViewById(R.id.txtPageID);
            String pageName = pageNameTV.getText().toString();
            new RetrieveFacebookCounter().execute([APICalls]);
        }

        @Override
        public void onCancel() {
            mListener.onCancel();
        }

        @Override
        public void onError(FacebookException error) {
            mListener.onError(error.toString());
        }
    });

У меня две проблемы:

(1) Когда я отлаживаю приложение, оно запрашивает меня КАЖДЫЙ раз; вместо запоминания деталей токена.

(2) Я вижу (из шага кода), что когда код выполняет строку для loginButton.registerCallback , консоль показывает следующую ошибку:

E / GraphResponse: {HttpStatus: 400, errorCode: 100, subErrorCode: 33, errorType: GraphMethodException, errorMessage: не поддерживается get запрос. Объект с идентификатором ' [отредактирован] ' не существует, не может быть загружен из-за отсутствия разрешений или не поддерживает эту операцию. Пожалуйста, ознакомьтесь с документацией Graph API на
https://developers.facebook.com/docs/graph-api}

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

Я отредактировал детали в новом RetrieveFacebookCounter (). Execute ([APICalls]); ; как они работают.

Любые советы / рекомендации будут приветствоваться.

...