Я хотел бы опубликовать сообщение на своей стене через приложение для Android. У меня есть метод loginToFacebook() для входа в систему. При щелчке по кнопке, если пользователь вошел в систему, я хочу, чтобы сообщение было опубликовано. Я не очень хорошо знаком с API facebook, поэтому я посмотрел документацию разработчиков facebook и другие сайты в Интернете, чтобы предложить следующий код. Тем не менее, на моей стене нет сообщений. Очевидно, что я что-то пропустил, но не знаю, как у меня нет ошибки в моем LogCat.Android/Facebook: сообщение на стене
public class ShareActivity extends Activity implements OnClickListener{
Facebook facebook = new Facebook("477110419013909");
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
String FILENAME = "AndroidSSO_data";
SharedPreferences mPrefs;
public void onClick(View arg0) {
loginToFacebook();
if (facebook.isSessionValid()) {
Bundle bundle = new Bundle();
bundle.putString("message","Hey Facebook!");
try {
String strRet = facebook.request("/me/feed",bundle,"POST");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.e("Facebook", "Error: " + e.getMessage());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
Log.e("Facebook", "Error: " + e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("Facebook", "Error: " + e.getMessage());
}
}
public void loginToFacebook() {
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 (expires != 0) {
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid()) {
facebook.authorize(this,
new String[] { "email", "publish_stream" },
new DialogListener() {
@Override
public void onCancel() {
// Function to handle cancel event
}
@Override
public void onComplete(Bundle values) {
// Function to handle complete event
// Edit Preferences and update facebook acess_token
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token",
facebook.getAccessToken());
editor.putLong("access_expires",
facebook.getAccessExpires());
editor.commit();
}
@Override
public void onError(DialogError error) {
// Function to handle error
}
@Override
public void onFacebookError(FacebookError fberror) {
// Function to handle Facebook errors
}
});
}
}
}
Я пытался сделать
if (facebook.isSessionValid()) {
Bundle bundle = new Bundle();
bundle.putString("message","Hey Facebook!");
facebook.dialog((Activity) this, "feed", bundle,
new DialogListener() {
public void onComplete(Bundle values) {
}
public void onFacebookError(FacebookError error) {}
public void onError(DialogError e) {}
public void onCancel() {}
});
}
Не работает либо
братан, как вы решить проблему? у меня такая же проблема –