我正在尝试将facebook与我的Android应用程序连接,我在facebook上创建了应用程序并获得了它的应用程序ID。使用此ID,此代码应发布在用户的墙上。 为什么下面的代码只是为了烘烤“发布在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 :(得分: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'
)
);