相关疑难解决方法(0)

Post Id facebook share对话框在Android中始终返回null

我使用测试应用程序ID并在测试用户登录在facebook开发网站上的dash_board app创建,在使用facebook sdk的登录按钮小部件登录时需要pulish_actions权限但结果获得postid always = null.这是我的代码:

....

shareDialog = new ShareDialog(MainActivity.this);
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                if (result.getPostId() != null)
                    Log.e(TAG, result.getPostId());
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException e) {

        }
    });

    pulishButton.setOnClickListener(this);
    try{
        loginButton.setPublishPermissions(new String[]{"publish_actions","publish_stream"});
    }catch (FacebookException e){
        e.printStackTrace();
    }

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Log.e(TAG, "success");
            loginButton.setEnabled(false);
            pulishButton.setEnabled(true);
            GraphRequest.newMeRequest(
                    loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject json, GraphResponse response) {
                            if (response.getError() …
Run Code Online (Sandbox Code Playgroud)

android facebook android-studio facebook-sdk-4.0

7
推荐指数
2
解决办法
2938
查看次数

FB共享对话框取消回调在Android中不起作用

我正在尝试将一些文本从我的Android应用程序共享给FB。没有登录功能,仅使用共享。

文本确实在FB上共享,但是即使取消共享,ShareDialog回调也始终返回onSuccess。

我正在使用以下代码:

//FB
        if (ShareDialog.canShow(ShareLinkContent.class)) {
            ShareLinkContent linkContent = new ShareLinkContent.Builder()
                    .setContentTitle(contentTitle)
                    .setContentDescription(
                            message)
                    .setContentUrl(Uri.parse(contentUrl))
                    .build();

        shareDialog = new ShareDialog(mActivity);
        // this part is optional
        shareDialog.registerCallback(MainActivity.callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                Toast.makeText(mContext, R.string.yourpostsharedsuccessfully, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel() {
            }

            @Override
            public void onError(FacebookException e) {
                e.printStackTrace();
            }
        });

        shareDialog.show(linkContent);
    }
Run Code Online (Sandbox Code Playgroud)

并在我的活动中使用它:

 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data)   {
    super.onActivityResult(requestCode, resultCode, data);

    callbackManager.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

请帮忙。我需要知道何时成功共享帖子以及何时取消该帖子。我正在使用FB sdk 4.1.0。

android facebook facebook-graph-api android-studio

5
推荐指数
0
解决办法
1400
查看次数