2012-06-08 88 views
1

我想連接facebook與我的android應用程序,我已經在Facebook上創建應用程序,並得到它的應用程序ID。使用這個ID這個代碼應該貼在用戶的牆上。 爲什麼下面的代碼只是爲了「在Facebook上發佈」而不是貼在我的牆上? 請幫我解決這個問題非常緊急。 在此先感謝。Facebook代碼不張貼在牆上

mFacebookBtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d("Facebook Activity", "After on create"); 
      mPrefs = getPreferences(MODE_PRIVATE); 
      String access_token = mPrefs.getString("access_token", null); 
      long expires = mPrefs.getLong("access_expires", 0); 

      if (access_token != null) { 
       facebook.setAccessToken(access_token); 
      } 
      if (!facebook.isSessionValid()) { 

       facebook.authorize(FacebookActivity.this, PERMISSIONS, 
         new DialogListener() { 
          @Override 
          public void onComplete(Bundle values) { 
           SharedPreferences.Editor editor = mPrefs.edit(); 
           editor.putString("access_token", 
             facebook.getAccessToken()); 
           editor.putLong("access_expires", 
             facebook.getAccessExpires()); 
           editor.commit(); 
          } 

          @Override 
          public void onFacebookError(FacebookError error) { 
          } 

          @Override 
          public void onError(DialogError e) { 
          } 

          @Override 
          public void onCancel() { 
          } 
         }); 
      } 


      Log.d("Facebook Activity", "Logged in in Facebook"); 
      facebookPost("Testing 1"); 
      try { 
       facebook.logout(getApplicationContext()); 
      } catch (MalformedURLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     } 

     private void facebookPost(String string) { 
      // TODO Auto-generated method stub 
      // code for facebook post here 
      Log.d("Facebook Activity", "Facebook Post Method"); 
      AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(
        facebook); 
      Bundle params = new Bundle(); 

      params.putString("message", string); 

       params.putString("name", "Test Name"); 
       params.putString("caption","Test caption"); 
       params.putString("link","www.test.com"); 
       params.putString("description","test description"); 
       params.putString("picture", "www.somelink.com/image.gif"); 
      Log.d("Facebook Activity", "Firing Request to facebook"); 
      mAsyncFbRunner.request("Me/feed", params, "POST", 
        new RequestListener() { 

         @Override 
         public void onMalformedURLException(
           MalformedURLException e, Object state) { 
          // TODO Auto-generated method stub 
          Toast.makeText(getApplicationContext(), 
            "Malformed URL Exception", 
            Toast.LENGTH_SHORT).show(); 
         } 

         @Override 
         public void onIOException(IOException e, 
           Object state) { 
          // TODO Auto-generated method stub 
          Toast.makeText(getApplicationContext(), 
            "Internet is not available", Toast.LENGTH_SHORT) 
            .show(); 
         } 

         @Override 
         public void onFileNotFoundException(
           FileNotFoundException e, Object state) { 
          // TODO Auto-generated method stub 

         } 

         @Override 
         public void onFacebookError(FacebookError e, 
           Object state) { 
          // TODO Auto-generated method stub 
          Toast.makeText(getApplicationContext(), 
            "Facebook Error", Toast.LENGTH_SHORT) 
            .show(); 
         } 

         @Override 
         public void onComplete(String response, Object state) { 
          // TODO Auto-generated method stub 
          mRunOnUi.post(new Runnable() { 
           @Override 
           public void run() { 

            Toast.makeText(getApplicationContext(), 
              "Posted to Facebook", 
              Toast.LENGTH_SHORT).show(); 
           } 
          }); 
          // Toast.makeText(getApplicationContext(), 
          // "Posted to facebook", 
          // Toast.LENGTH_SHORT).show(); 
         } 
        }, new Object()); 

     } 

    }); 
} 

回答

0
$status = $facebook->api('/me/feed', 'POST', 
array(
'message' => 'message . ', 
'name' => 'name.', 
'caption' => "Caption of the Post", 
'link' => 'https://www.facebook.com/biju.nemom', 
'description' =>'this is a description', 
'picture' => ' images/mis.jpg' 
) 
);