我正在开发一个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时,我甚至没有获得超链接。
任何人都可以帮我解决上述两个问题。
感谢。
答案 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。
第二个参数包是您要传递的包。