我使用测试应用程序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应用程序共享给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。