我使用的是Android Facebook SDK。我已经写了下面的代码,从我的应用程序向用户发布图片。问题是图片只在我登录时上传到我的Facebook帐户,而在其他用户登录时不上传到他们的帐户。
为什么会这样?我收到一个错误,说"照片上传问题。错误={HttpStatus:403,errorCode:200,errorType:OAuthException,errorMessage:(#200)Permissions error}"
Session.openActiveSession(Image_UpLoad_Activity.this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(final Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
// TextView welcome = (TextView) findViewById(R.id.welcome);
// welcome.setText("Hello " + user.getName() + "! " );
Log.d("", " USER THIS " + user.getName());
Toast.makeText(getApplicationContext(), user.getName(),
Toast.LENGTH_LONG).show();
}
}
}).executeAsync();
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(Image_UpLoad_Activity.this, Arrays.asList("publish_actions","manage_pages"));
session.requestNewPublishPermissions(newPermissionsRequest);
request = Request.newUploadPhotoRequest(Session.getActiveSession(),bmp, uploadPhotoRequestCallback);
Bundle parameters = request.getParameters(); // <-- THIS IS IMPORTANT
parameters.putString("message",Dishname);
// add more params here
request.setParameters(parameters);
request.executeAsync();
//();
////
}
}
});
您正在沙箱模式下运行应用程序。您可以通过配置仪表板使其对所有用户都可用。
- 打开开发人员控制台
- 选择你的应用
- 单击状态&审查
- 你会发现一个切换按钮,可以在沙箱中打开/关闭你的应用程序模式转换为生产模式。默认情况下,它处于沙箱模式