在我的Android应用程序中,我正在尝试实现一个简单的“Like Button”功能。
我们已经从同一个应用程序执行Facebook登录。 我们还创建了一个Open Graph Like动作&我们的应用程序仪表板上也有一个Link对象。
这是我们用来发布之类的代码。
public static void likeFacebookPage(Context context,String pageUrl)
{
Bundle params = new Bundle();
params.putString("object",pageUrl);
Request request = new Request(
Session.getActiveSession(),
"me/og.likes",
params,
HttpMethod.POST
);
Response response = request.executeAndWait();
// handle the response
}
在 pageUrl 参数中,我们有:
http://www.facebook.com/<object_id>
“ object_id ”是我们在Open Graph中创建的链接对象的ID。
执行上述方法后,响应对象收到如下:
{Response: responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}
但是Like计数没有得到更新,导致我们相信这个过程不起作用。
我们还包含权限“ publish_actions ”&amp;我们的代码以及App Dashboard上的“ user_likes ”。
请帮助我们配置此功能。
提前致谢。
答案 0 :(得分:0)
如此处https://developers.facebook.com/docs/reference/api/publishing/所述,您使用publish_actions和publish_stream权限向类似的对象发布了类似内容:
Bundle postParams = new Bundle();
Request request = new Request(Session.getActiveSession(),
FB_OBJECT_ID+"/likes", postParams, HttpMethod.POST, new Callback() {
@Override
public void onCompleted(Response response) {
}
});
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
你的FB_OBJECT_ID只是对象的ID。即如果你想要一张照片,FB_OBJECT_ID就是pid。对于专辑,FB_OBJECT_ID将是帮助。