我的Android应用程序中有一个Bitmap图像,我需要将其上传到登录用户的墙上,包括标题消息。
我已经实现了“应该”设置会话的“登录”按钮,在使用session.isOpened()
进行检查后,我调用了方法newUploadPhotoRequest(session, image, callback)
。
问题是图片永远不会上传。显然,登录有效,因为session.isOpened()在用户单击Login按钮后返回true。这意味着API密钥,调试/发布密钥哈希以及所有这些东西都是正确的。
相反,upload方法的回调会返回此响应:
{Response: responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}
以下:应该上传位图的活动(称为FacebookActivity
)背后的代码段。
private void startSending() {
((LinearLayout)findViewById(R.id.LoginLayout)).setVisibility(View.INVISIBLE);
((LinearLayout)findViewById(R.id.SendingLayout)).setVisibility(View.VISIBLE);
Request photoRequest = Request.newUploadPhotoRequest(Session.getActiveSession(), picture, new Request.Callback() {
@Override
public void onCompleted(Response response) {
Toast toast;
if(response.getError() == null) {
toast = Toast.makeText(getApplicationContext(), getString(R.string.ask_facebook_sent), Toast.LENGTH_LONG);
}
else {
// ERROR!
toast = Toast.makeText(getApplicationContext(), "Error! " + response.toString(), Toast.LENGTH_LONG);
}
toast.show();
finish();
}
});
Bundle requestParams = photoRequest.getParameters();
requestParams.putString("message", message);
photoRequest.setParameters(requestParams);
Request.executeBatchAsync(photoRequest);
}
一些注意事项:
com.ale.upmap
(应用程序的命名空间)com.ale.upmap.FacebookActivity
问题:我是否还需要设置代码权限?不是自动的吗?我也没有看到任何使用这种方法的例子......