我已经在Facebook for Developers页面上创建了APP; Google Play包名称设置为com.seananderson.myapplication,与我的APP中使用的名称匹配,类名称设置为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 请求。 ID为“ [已编辑] ”的对象不存在,不能为 由于缺少权限而加载,或不支持此操作。 请阅读Graph API文档,网址为
https://developers.facebook.com/docs/graph-api}
登录后,该应用程序可以正常工作,但是下次使用该应用程序时,它需要记住我的详细信息。
我在新的 RetrieveFacebookCounter()。execute([APICalls]); ;中删除了详细信息。他们正在工作。
任何提示/建议都将受到欢迎。