通过应用程序发布在Facebook粉丝页面上

我设法创build了一个在我的Facebook墙上发布的类。 但是,我如何改变代码来分享我的Facebook粉丝页面呢? 我无法find任何关于谷歌或堆栈溢出…

这里是在Facebook上分享的课程:

package com.celticwolf.blahblah; <--- changed import com.facebook.android.*; import com.facebook.android.Facebook.DialogListener; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.widget.Toast; public class ShareOnFacebook extends Activity{ private static final String APP_ID = "35255389027859"; <--- changed private static final String[] PERMISSIONS = new String[] {"publish_stream"}; private static final String TOKEN = "access_token"; private static final String EXPIRES = "expires_in"; private static final String KEY = "facebook-credentials"; private Facebook facebook; private String messageToPost; public boolean saveCredentials(Facebook facebook) { Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit(); editor.putString(TOKEN, facebook.getAccessToken()); editor.putLong(EXPIRES, facebook.getAccessExpires()); return editor.commit(); } public boolean restoreCredentials(Facebook facebook) { SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE); facebook.setAccessToken(sharedPreferences.getString(TOKEN, null)); facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0)); return facebook.isSessionValid(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); facebook = new Facebook(APP_ID); restoreCredentials(facebook); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.facebook_dialog); String facebookMessage = getIntent().getStringExtra("facebookMessage"); if (facebookMessage == null){ facebookMessage = "Test wall post"; } messageToPost = facebookMessage; } public void doNotShare(View button){ finish(); } public void share(View button){ if (! facebook.isSessionValid()) { loginAndPostToWall(); } else { postToWall(messageToPost); } } public void loginAndPostToWall(){ facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener()); } public void postToWall(String message){ new MyAsyncTask().execute(message); } class MyAsyncTask extends AsyncTask<String,Void,Boolean> { public Boolean doInBackground(String ...message){ Bundle parameters = new Bundle(); parameters.putString("message", message[0]); parameters.putString("description", "topic share"); try { facebook.request("me"); String response = facebook.request("me/feed", parameters, "POST"); <--- I think here is the crucial part Log.d("Tests", "got response: " + response); if (response == null || response.equals("") || response.equals("false")) { return Boolean.FALSE; } else { return Boolean.TRUE; } } catch (Exception e) { e.printStackTrace(); return Boolean.FALSE; } } public void onPostExecute(Boolean result){ if(result == Boolean.TRUE){ showToast("posted successfully"); }else{ showToast("couldn't post to FB."); } finish(); } } class LoginDialogListener implements DialogListener { public void onComplete(Bundle values) { saveCredentials(facebook); if (messageToPost != null){ postToWall(messageToPost); } } public void onFacebookError(FacebookError error) { showToast("Authentication with Facebook failed!"); finish(); } public void onError(DialogError error) { showToast("Authentication with Facebook failed!"); finish(); } public void onCancel() { showToast("Authentication with Facebook cancelled!"); finish(); } } private void showToast(String message){ Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); } } 

谢谢!

Solutions Collecting From Web of "通过应用程序发布在Facebook粉丝页面上"

 String response = facebook.request("me/feed", parameters, "POST"); 

me/feed变成PAGE_ID/feed

 String response = facebook.request("PAGE_ID/feed", parameters, "POST"); 

在此了解如何使用Graph API: https : //developers.facebook.com/docs/reference/api/

 String response = facebook.request("PAGE_ID/feed", parameters, "POST"); 

这将是工作,但在页面张贴您必须需要具有Mangage_Pages和Publish_stream权限的访问令牌。