【发布时间】:2023-03-24 23:44:01
【问题描述】:
我已使用以下代码发布到 Facebook 用户墙。我已经在 HomeActivity 中对用户进行了身份验证。将访问令牌存储在 SharedPreferences 中。
if (HomeActivity.authenticatedFacebook.isSessionValid()) {
Log.v("****session valid **** ", "valid");
fbuserpref = getSharedPreferences(FBUSER_PREF, 0);
acc_tock = fbuserpref.getString("access_token", " ");
Log.v("FB accesstoken >> In FBShare", acc_tock);
if (acc_tock == null && acc_tock == " ") {
Log.v("Access token is null in FBShare", "null");
} else {
AsyncFacebookRunner asyn = new AsyncFacebookRunner(
authenticatedFacebook);
Bundle parameters = new Bundle();
parameters.putString("message", msg.getText()
.toString());
Log.v("target id", HomeActivity.id_json);
parameters.putString("target_id", HomeActivity.id_json);
parameters.putString("method", "stream.publish");
asyn.request("me/feed", parameters, "POST",
new TestRequestListener(), null);
}
} else {
Log.v("session Invalid", "Invalid");
Toast.makeText(getApplicationContext(),
"Please Login to Facebook.", Toast.LENGTH_LONG)
.show();
}
public class TestRequestListener implements RequestListener {
@Override
public void onComplete(String response, Object state) {
// TODO Auto-generated method stub
Log.v("posted successfully", response);
finish();
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
}
我得到了以下回复。
03-03 02:21:05.650: V/posted successfully(26847): {"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}
【问题讨论】: