我正在开发“在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();
});
}
正确调用该函数,但没有任何内容出现。
有人知道为什么吗?也许权限?但我已经读过,对话框不是必需的权限!
感谢所有
答案 0 :(得分: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();
答案 1 :(得分:0)
我自己解决了! 即使Facebook Dialog不需要Auth(),它也需要带有AppID的init。
var fb = require('facebook');
fb.appid = your_app_id_number;
这很好用。