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());
}
});
}