sne*_*lak 4 android facebook photos
摘要:尝试在Facebook上发布图像和描述.如果图像URL为null,我使用本地可绘制的默认图像上传到照片.
要上传本地图像,我使用以下代码:
我的代码:
Request.Callback uploadPhotoRequestCallback = new Request.Callback() {
@Override
public void onCompleted(Response response) {
if (response.getError() != null) {
//post error
} else{
String uploadResponse = (String) response.getGraphObject().getProperty("id");
if (uploadResponse is valid) {
parameters.putString("message", description);
} else {
//error
}
}
}
};
Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), BitmapFactory.decodeResource(_context.getResources(), R.drawable.default_image), uploadPhotoRequestCallback);
request.setParameters(parameters);
Request.executeBatchAsync(request);
Run Code Online (Sandbox Code Playgroud)
这将执行以下操作:
{HttpStatus: 400, errorCode: 324, errorType: OAuthException, errorMessage: (#324) Requires upload file}
Run Code Online (Sandbox Code Playgroud)
注意:
1.图像上传成功,没有
request.setParameters(parameters);
2.尝试parameters.putString("name", description);而不是
parameters.putString("message", description);
为什么添加导致OAuthException的参数?
Min*_* Li 10
创建newUploadPhotoRequest时,该方法将隐式地向返回的Request对象添加一些参数.当您调用setParameter时,您将使用自己的参数替换这些隐式参数,这会导致请求缺少某些必需的参数.
你应该做的是:
Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), BitmapFactory.decodeResource(_context.getResources(), R.drawable.default_image), uploadPhotoRequestCallback);
Bundle parameters = request.getParameters(); // <-- THIS IS IMPORTANT
parameters.putString(...);
// add more params here
request.setParameters(parameters);
request.executeAsync();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |