android - 上传照片到 Facebook : Adding parameters before executing the newUploadPhotoRequest call gives the 'OAuthException' error

标签 android facebook photos

总结:尝试在 Facebook 上发布图片和描述。如果图像 URL 为 null,我使用本地可绘制默认图像上传到照片。

要上传本 map 片,我使用以下代码:

我的代码:

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);

执行如下:

{HttpStatus: 400, errorCode: 324, errorType: OAuthException, errorMessage: (#324) Requires upload file}

注意事项:
1.图片上传成功无 request.setParameters(参数);
2. 尝试 parameters.putString("name", description); 而不是 parameters.putString("消息", description);

为什么添加参数会导致 OAuthException?

最佳答案

当您创建一个新的 UploadPhotoRequest 时,该方法会隐式地将一些参数添加到返回的 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();

关于android - 上传照片到 Facebook : Adding parameters before executing the newUploadPhotoRequest call gives the 'OAuthException' error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17917929/

相关文章:

java - Android - Jar 集成 - Dalvik 错误 1 ​​或无法解析父类(super class)

iOS facebook 登录每次都请求权限

php - Facebook Tab 在对经过身份验证的用户的签名请求中丢失页面信息

ios - 如何使用 Swift 将 ImageView 正确定位在照片顶部

php - 从所有相册中获取所有照片

java - 添加 RecyclerView Layoutmanager 时我的应用程序停止了

java - 膨胀 View 会在物理设备上抛出 Resources$NotFoundException

Android Debug模式性能

php - 使用图形 API 将带有图片的消息发布到 Facebook 页面/提要

ios - 如何正确检测 PHAsset 的文件类型 (GIF)