Facebook使用Graph API在组墙中发布

时间:2012-09-08 20:24:28

标签: android facebook facebook-graph-api

我正在开发一个Android应用程序,需要在用户创建的组中发布。

Bundle params = new Bundle();
params.putString("link","www.google.com");
params.putString("message","Group Message");

try {
  String res =    fb.request(GROUP_ID+"/feed",params);

 Log.w("Response",""+res);
} catch (MalformedURLException e) {

 e.printStackTrace();
 } catch (IOException e) {
 e.printStackTrace();
}

 }

我也使用以下权限,

public static final String[] permissions = {"user_photos","friends_groups","read_stream","user_groups","publish_stream"};

但是当我执行此操作时,不会引发任何异常,并且不会在组的墙上发布帖子。

当我尝试使用@[user_id:name]创建@Mentions时,我甚至没有获得超链接。

任何人都可以帮我解决上述两个问题。

感谢。

2 个答案:

答案 0 :(得分:5)

默认情况下,fb.request方法使用GET请求。当您打算创建新帖子时,您需要使用POST方法。这样做很简单 - 只需将第三个参数(httpMethod)传递为“POST”。

例如: String res = fb.request(GROUP_ID+"/feed",params,"POST");

了解更多信息:https://developers.facebook.com/docs/reference/androidsdk/ayncrequest/

此外,第一个参数必须是完整的网址,而不仅仅是ID - https://graph.facebook.com/GROUP_ID/feed

当然,我正在根据您的变量名做出假设。

答案 1 :(得分:0)

String response = mFacebook.request(GROUP_ID+"/feed",bundle,"POST");

通过使用上述方法我们可以在组墙发布。 第一个参数GROUP_ID应该是一个15位数的字符串。它不应该是一个URL。

第二个参数包是您要传递的包。