2011-12-16 75 views
2

我正在使用Facebook sdk(https://github.com/facebook/facebook-android-sdk/)來顯示NewsFeed。我可以在我的應用程序中顯示所有新聞源牆。在Android的Facebook的任何牆上發表評論

現在我需要發送評論在我看到的任何牆上。我怎樣才能像我的應用程序中的牆和評論。有人可以幫我嗎?

在此先感謝。

+0

你是不是想上發表評論實際的牆?就像Juicy Scripter在下面指出的那樣,我認爲你只能對一個帖子發表評論(牆是一個帖子的集合)。你能否提供任何澄清(最好在賞金結束之前)? – dstricks 2011-12-25 20:32:23

+0

@ dstricks,我想要像任何牆和評論也。而給定的代碼是不夠的。 – 2011-12-26 14:00:47

+0

你應該明確你想要什麼,並做你自己的家庭作業,幫助我們幫助你,而不是要求我們爲你提供最終的代碼。你想要什麼功能?也許讀[問]是正確的做法。 – 2012-01-02 17:56:23

回答

7

要明確:

  • 你只能評論帖子(並非實際的牆上本身)
  • 可以只有 a 評論(並非實際的牆上本身)

使用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"); 
0

您應該熟悉Facebook Android SDK usage of Graph APIPost object(註釋連接)和Comment Object圖API文檔(喜歡的部分)。

  • 你不能評論牆壁本身,但在其中的一篇文章。
  • 您可以通過圖形API張貼在牆上
  • 您可以通過圖形API
  • 您可以創建通過圖形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"); 
+0

::我怎樣才能得到postId? – 2014-03-09 05:44:04

-1
'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); 

       } 
0

您可以使用圖表api解析所有提要,通過

mAsyncRunner.request("me/home", params, new graphApiRequestListener()); 

返回您與您的所有帖子和評論JSON數據和喜歡 您可以分析數據得到所有commnets

進一步的信息搜索hackbook爲Android例如

相關問題