我正在使用Facebook sdk(https://github.com/facebook/facebook-android-sdk/)來顯示NewsFeed。我可以在我的應用程序中顯示所有新聞源牆。在Android的Facebook的任何牆上發表評論
現在我需要發送評論在我看到的任何牆上。我怎樣才能像我的應用程序中的牆和評論。有人可以幫我嗎?
在此先感謝。
我正在使用Facebook sdk(https://github.com/facebook/facebook-android-sdk/)來顯示NewsFeed。我可以在我的應用程序中顯示所有新聞源牆。在Android的Facebook的任何牆上發表評論
現在我需要發送評論在我看到的任何牆上。我怎樣才能像我的應用程序中的牆和評論。有人可以幫我嗎?
在此先感謝。
要明確:
使用Facebook SDK,你可以做徵求意見如下:
Facebook facebook = new Facebook(APP_ID);
String commentText = "I love blu-ray";
String postId = "7568536355_333422146668093"; //a lifehacker post about blu-ray
String graphPath = postId + "/comments";
Bundle params = new Bundle();
params.putString("message", commentText);
facebook.request(graphPath, params, "POST");
...和喜歡以下內容:
Facebook facebook = new Facebook(APP_ID);
String postId = "7568536355_333422146668093"; //a lifehacker post about blu-ray
String graphPath = postId + "/likes";
facebook.request(graphPath, new Bundle(), "POST");
您應該熟悉Facebook Android SDK usage of Graph API,Post object(註釋連接)和Comment Object圖API文檔(喜歡的部分)。
更新:
以下關於創建評論和喜歡它的示例(關於如何創建評論的示例以及其他回答中已顯示的帖子):
// I assume you already have post_id (which is constructed from USERID_MESSAGEID)
Facebook mFacebook = new Facebook(APP_ID);
Bundle params = new Bundle();
params.putString("message", "This is a comment text");
String comment_id = facebook.request(post_id + "/comments", params, "POST");
// Once you have comment_id it can be used for liking it.
facebook.request(comment_id + "/likes", new Bundle(), "POST");
::我怎樣才能得到postId? – 2014-03-09 05:44:04
'Use Facebook Api as library download api and use it as library'
private static final String FACEBOOK_APPID = "Your Api key";
Facebook facebook = new Facebook(FACEBOOK_APPID);
facebook.authorize(this,new String[] { "user_photos,publish_checkins,publish_actions,publish_stream" },
new DialogListener() {
@Override
public void onComplete(Bundle values) {
postImageonWall();
try {
facebook.logout(TestActivity.this);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// finish();
}
@Override
public void onFacebookError(FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
使用postImageOnWall方法
public void postImageonWall() {
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(filepath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new RequestListener() {
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
Log.d("MalformedURLException", e.getMessage());
}
@Override
public void onIOException(IOException e, Object state) {
Log.d("onIOException", e.getMessage());
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
Log.d("FileNotFoundException", e.getMessage());
}
@Override
public void onFacebookError(FacebookError e, Object state) {
Log.d("onFacebookError", e.getMessage());
}
@Override
public void onComplete(String response, Object state) {
Log.d("onComplete", response);
}
}, null);
}
您可以使用圖表api解析所有提要,通過
mAsyncRunner.request("me/home", params, new graphApiRequestListener());
返回您與您的所有帖子和評論JSON數據和喜歡 您可以分析數據得到所有commnets
進一步的信息搜索hackbook爲Android例如
你是不是想上發表評論實際的牆?就像Juicy Scripter在下面指出的那樣,我認爲你只能對一個帖子發表評論(牆是一個帖子的集合)。你能否提供任何澄清(最好在賞金結束之前)? – dstricks 2011-12-25 20:32:23
@ dstricks,我想要像任何牆和評論也。而給定的代碼是不夠的。 – 2011-12-26 14:00:47
你應該明確你想要什麼,並做你自己的家庭作業,幫助我們幫助你,而不是要求我們爲你提供最終的代碼。你想要什麼功能?也許讀[問]是正確的做法。 – 2012-01-02 17:56:23