有没有办法使用FacebookSDK 4.0.1发表评论。 因为在新SDK中删除了Request。 假设我已登录并获得“publish_actions”权限。
private void facebookLogin() {
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_friends"));
}
private void facebookLogout (){
LoginManager.getInstance().logOut();
}
private void facebookPost() {
//check login
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken == null) {
Log.d(TAG, ">>>" + "Signed Out");
status = Status.POST;
facebookLogin();
return;
} else {
Log.d(TAG, ">>>" + "Signed In");
status = Status.NONE;
}
if (accessToken.getPermissions().contains("publish_actions")) {
Log.d(TAG, ">>>" + "contain publish_actions");
//I wanna post a comment in here
} else {
Log.d(TAG, ">>>" + "NOT contain publish_actions");
LoginManager.getInstance().logInWithPublishPermissions(this, Arrays.asList("publish_actions"));
}
}
答案 0 :(得分:0)
您是否尝试过使用com.facebook.share.widget.ShareApi类进行共享
ShareApi.share(content,null);
答案 1 :(得分:0)
假设您想在用户墙上发布内容,请使用Open Graph Stories
2)注册您的应用程序,创建new
登录流程 - 请注意旧的登录流程不适用于SDK 4.0
3)现在,一旦登录正在为您工作,请转到此应用程序的仪表板,从左侧的窗格中选择打开图表。
4)在此处定义您的动作,故事和对象。
5)尽管Facebook已经提供了获取代码的选项,但在“故事”,“动作类型”和“对象类型”旁边 - 请注意,此代码已过时且不起作用。
这对我有用:
我的应用名称是(在开发者控制台上定义)
friendssampleapp
我的行动类型:庆祝 我的对象类型:里程碑
以下是我通过点击按钮发布的代码片段:
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "friendsampleapp:milestone")
.putString("og:title", "A Game of Thrones")
.putString("og:description", "In the frozen wastes to the north of Winterfell, sinister and supernatural forces are mustering.")
// .putPhoto("og:image", photo)
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("friendsampleapp:celebrating")
.putObject("milestone", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("milestone")
.setAction(action)
.build();
ShareDialog.show(getActivity(), content);
答案 2 :(得分:0)
使用以下代码:
Bundle params = new Bundle();
params.putString("message", "This is a test message");
new GraphRequest(
accessToken,
"/me/feed",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
}
}
).executeAndWait();