1

我正在开发一个“在 facebook 上分享”按钮。

但是有一个问题,facebook 对话框没有提示给用户。

我试过钛提供的样品:

function facebook(){

    var fb = require('facebook');

    var data = {
        link : "http://www.appcelerator.com",
        name : "Appcelerator Titanium Mobile",
        message : "Checkout this cool open source project for creating apps",
        caption : "Appcelerator Titanium Mobile",
        picture : "http://developer.appcelerator.com/assets/img/DEV_titmobile_image.png",
        description : "You've got the ideas, now you've got the power."
    };

    fb.dialog("feed", data, function(e) {

            var toast = Ti.UI.createNotification({
            message:"Default",
            duration: Ti.UI.NOTIFICATION_DURATION_LONG
        });

            if(e.success && e.result) 
                toast.message = "Success! New Post ID: " + e.result;
            else {
                if(e.error) 
                        toast.message = e.error;
                else 
                    toast.message = "User canceled dialog.";
            }
        toast.show();
    });
}

该函数被正确调用,但没有出现。

有人知道为什么吗?也许权限?但我已经读到对话框不需要权限!

谢谢大家

4

2 回答 2

0

试试这个:

var fb = require('facebook');
fb.appid = FACEBOOK_APP_ID;
fb.permissions = ['publish_stream']; // Permissions your app needs
fb.forceDialogAuth = true;
fb.addEventListener('login', function(e) {
    if (e.success) {
        alert('Logged In');
    } else if (e.error) {
        alert(e.error);
    } else if (e.cancelled) {
        alert("Canceled");
    }
});
fb.authorize();
于 2013-08-19T18:30:29.223 回答
0

我自己解决了!即使 Facebook 对话框不需要 Auth(),它也需要带有 AppID 的 init。

var fb = require('facebook');
fb.appid = your_app_id_number;

有了这个工作得很好。

于 2013-08-20T12:23:27.517 回答