Java (#200)用户没有';t授权应用程序执行此操作android facebook SDK
我在facebook sdk安卓系统的墙上发帖,但我得到了 我将在下面发布我的代码 {Response:responseCode:403,graphObject:null,错误:{HttpStatus:403,错误代码:200,错误类型:OAuthException,错误消息:(#200)用户未授权应用程序执行此操作},isFromCache:false} 私有void postStatusUpdate(最终字符串fbpost){ Log.d(“postStatusUpdate”,fbpost)Java (#200)用户没有';t授权应用程序执行此操作android facebook SDK,java,android,facebook,Java,Android,Facebook,我在facebook sdk安卓系统的墙上发帖,但我得到了 我将在下面发布我的代码 {Response:responseCode:403,graphObject:null,错误:{HttpStatus:403,错误代码:200,错误类型:OAuthException,错误消息:(#200)用户未授权应用程序执行此操作},isFromCache:false} 私有void postStatusUpdate(最终字符串fbpost){ Log.d(“postStatusUpdate”,fbpost)
只需使用“发布”操作权限打开“权限”对话框,然后更新访问令牌,然后发布消息
您确定收集了“发布行动”吗权限?这是我面临的问题,当会话打开时,发布流的权限对话框没有打开,你能告诉我我应该在哪里更改代码吗?如果你还不知道,下面有一个关于如何实现登录的示例…@Jatiendar Kumar:你能帮我吗?我的应用程序也有同样的问题。
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@SuppressWarnings("deprecation")
@Override
public void call(final Session session, SessionState state, Exception exception) {
if(session.isClosed()){
Log.i("postStatusUpdate session.isClosed", "message not posted session is closed");
}
if (session.isOpened()) {
Log.i("session.isOpened", "session.isOpened");
if (!session.isOpened()) {
Log.w("myConsultant11111111111","Session closed");
Session.OpenRequest openRequest = null;
openRequest = new Session.OpenRequest(TabActivity.this);
if (openRequest != null) {
openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
openRequest.setPermissions(Arrays.asList("publish_stream","publish_actions"));
openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
session.openForPublish(openRequest);
}
}
Log.i("session.getPermissions() tab", ""+session.getPermissions());
//fbpostcheck = "if";
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
//session.requestNewReadPermissions(newPermissionsRequest2);
if (user != null) {
try {
Session session = Session.getActiveSession();
//session.requestNewReadPermissions(newPermissionsRequest);
if (!session.isOpened() && !session.isClosed()) {
// session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
} else {
// Session.openActiveSession(this, true, statusCallback);
Log.d("myLogs", "Test 1");
final String message = fbpost;
Request request = Request
.newStatusUpdateRequest(Session.getActiveSession(), message, new Request.Callback() {
@Override
public void onCompleted(Response response) {
//showPublishResult(message, response.getGraphObject(), response.getError());
Log.i("onCompleted", response.toString());
Log.i("getGraphObject", ""+response.getGraphObject());
showPublishResult(message, response.getGraphObject(), response.getError());
}
private void showPublishResult(String message,GraphObject graphObject,FacebookRequestError error) {
// TODO Auto-generated method stub
String title = null;
String alertMessage = null;
if (error == null) {
title = "Success";
alertMessage = "All is good";
//Toast.makeText(getApplicationContext(),"Posted successfully", Toast.LENGTH_SHORT).show();
AppMsg.makeText(TabActivity.this, "Posted to facebook", AppMsg.STYLE_INFO).show();
} else {
title = "Error";
alertMessage = error.getErrorMessage();
Log.i("alertMessage", alertMessage.toString());
AppMsg.makeText(TabActivity.this, "Error in Posting Message on facebook\n"/*+alertMessage*/, AppMsg.STYLE_INFO).show();
//Toast.makeText(getApplicationContext(),alertMessage, Toast.LENGTH_LONG).show();
}
}
});
request.executeAsync();
}
} catch (Exception e) {
// TODO Auto-generated catch block
Log.i("Exception user data", e.toString());
}
}
}
});
}
}
});
}