Facebook Android SDK 4.0.0没有获取个人资料信息

Facebook Android SDK 4.0.0没有获取个人资料信息,第1张

概述在我的应用程序中登录Facebook后获取Profile.getCurrentProfile()时出现问题.我正在使用FacebookAndroidSDK4.0.0.登录后我想得到用户名并在TextView中显示它,但我得到profile==null,我不知道为什么.我有正确的应用ID和HashKey.这是我的代码:publicclassMyFragmentextend

在我的应用程序中登录Facebook后获取Profile.getCurrentProfile()时出现问题.我正在使用Facebook Android SDK 4.0.0.登录后我想得到用户名并在TextVIEw中显示它,但我得到profile == null,我不知道为什么.我有正确的应用ID和HashKey.

这是我的代码:

public class MyFragment extends Fragment {    CallbackManager callbackManager;    Loginbutton loginbutton;    FacebookCallback<LoginResult> loginResultFacebookCallback = new FacebookCallback<LoginResult>() {        @OverrIDe        public voID onSuccess(LoginResult loginResult) {            Accesstoken accesstoken = loginResult.getAccesstoken();            Log.e("FB", String.valueOf(accesstoken));            Profile profile = Profile.getCurrentProfile();            if (profile != null) {                name.setText("Witam " + profile.getname());                Log.e("FB", "w");            }        }        @OverrIDe        public voID onCancel() {            // App code        }        @OverrIDe        public voID one rror(FacebookException exception) {            // App code        }    };    TextVIEw name;    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        FacebookSdk.sdkInitialize(getActivity().getApplicationContext());        callbackManager = CallbackManager.Factory.create();    }    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, @Nullable VIEwGroup container, @Nullable Bundle savedInstanceState) {        VIEw vIEw = inflater.inflate(R.layout.myfragment_facebook, container, false);        name = (TextVIEw) vIEw.findVIEwByID(R.ID.name);        return vIEw;    }    @OverrIDe    public voID onVIEwCreated(VIEw vIEw, @Nullable Bundle savedInstanceState) {        super.onVIEwCreated(vIEw, savedInstanceState);        loginbutton = (Loginbutton) vIEw.findVIEwByID(R.ID.login_button);        loginbutton.setReadPermissions(Arrays.asList("public_profile", "user_frIEnds"));        loginbutton.setFragment(this);        loginbutton.registerCallback(callbackManager, loginResultFacebookCallback);    }    @OverrIDe    public voID onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        callbackManager.onActivityResult(requestCode, resultCode, data);    }}

当我在Logcat中检查Token时,我获得了Accesstoken令牌:ACCESS_TOKEN_REMOVED

解决方法:

登录发生后异步提取配置文件.如果要跟踪它,类似于此示例:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/samples/SwitchUserSample/src/com/facebook/samples/switchuser/ProfileFragment.java#L54

总结

以上是内存溢出为你收集整理的Facebook Android SDK 4.0.0没有获取个人资料信息全部内容,希望文章能够帮你解决Facebook Android SDK 4.0.0没有获取个人资料信息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1110851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存