分享自定义的故事与舞台上的图像在Facebook上使用FB.我不工作



我有下面的代码舞台画布图像,然后创建对象,使用FB.ui共享它。暂存映像和创建对象工作正常,但是没有显示共享对话框。如果我把create object中的image参数替换为image url,它就可以工作了。

我的代码有什么问题吗?

var userAccessToken = $("#user_access_token").val();
var appAccessToken = $("#app_access_token").val();
try {
    blob = dataURItoBlob(dataURL);
} catch (e) {
    console.log(e);
}
var fd = new FormData();
fd.append("access_token", userAccessToken);
fd.append("file", blob);
try {
   var imageURI;
   $.ajax({
        url: "https://graph.facebook.com/me/staging_resources",
        type: "POST",
        data: fd,
        processData: false,
        contentType: false,
        cache: false,
        success: function (data) {
            console.log("success " + data['uri']);
            imageURI = data['uri'];
        },
        error: function (shr, status, data) {
            console.log("error " + data + " Status " + shr.status);
        },
        complete: function () {
            FB.api(
                'https://graph.facebook.com/app/objects/myappnamespace:myobject',
                'post',
                {
                    access_token : appAccessToken,
                    object:{
                        app_id: myappid,
                        url: "myappurl",
                        title: "Sample Photo",
                        image: {
                            url:imageURI,
                            user_generated:true
                        },
                        description: ""
                    }
                },
                function(response) {
                    var objectId = response['id'];
                    FB.ui({
                        method: 'share_open_graph',
                        action_type: 'myappnamespace:myaction',
                        action_properties: JSON.stringify({
                            myobject:objectId
                        })
                    }, function(response){});
                }
            );
        }
    });
} catch (e) {
    console.log(e);
}

最后我通过将user_generated参数从true更改为false找到了解决方案

现在创建对象的代码如下:

FB.api(
                'https://graph.facebook.com/app/objects/myappnamespace:myobject',
                'post',
                {
                    access_token : appAccessToken,
                    object:{
                        app_id: myappid,
                        url: "myappurl",
                        title: "Sample Photo",
                        image: {
                            url:imageURI,
                            user_generated:false
                        },
                        description: ""
                    }
                }

最新更新