好的,所以我知道 Javascript,并且一直在为 Facebook 拼凑一个小应用程序。问题出在我的 JS 和 facebook api 之间。
我使用标准库用用户朋友列表填充数组并显示它们以供选择。
function renderMFS() {
// First get the list of friends for this user with the Graph API
FB.api('/me/friends', function(response) {
var container = document.getElementById('mfs');
var mfsForm = document.createElement('form');
mfsForm.id = 'mfsForm';
// Iterate through the array of friends object and create a checkbox for each one.
for (var i = 0; i < Math.min(response.data.length, 1000); i++) {
var friendItem = document.createElement('div');
friendItem.id = 'friend_' + response.data[i].id;
friendItem.innerHTML = '<input type="radio" onclick="sendSlap(this)" name="friends" value="' + response.data[i].id + '" />' + response.data[i].name;
mfsForm.appendChild(friendItem);
}
container.appendChild(mfsForm);
});
}
然后我使用自己的功能发布了两条提要消息。
function sendSlap(cb) {
FB.ui({
method : 'feed',
link: 'https://apps.facebook.com/537130286376086',
to : cb.value,
description : 'You have been bitch slapped by a friend',
actions: [
{'name': 'Slap Back', 'link': 'https://apps.facebook.com/537130286376086'}
],
}, function(response) {
});
FB.ui({
method : 'feed',
link: 'https://apps.facebook.com/537130286376086',
description: "Someone just got bitch slapped",
actions: [
{'name': 'Slap Someone!', 'link': 'https://apps.facebook.com/537130286376086'}
],
}, function(response) {
});
}
所有这些工作都很好。问题是当我尝试将实际数据带入“帖子”时。我的第一种方法不起作用,也没有错误,它根本没有产生帖子。
description: "Someone just got bitch slapped" + cb.name,
如您所见,var "cb" 带有来自调用的数据。cb.value 工作得很好,它以同样的方式被调用以及我正在尝试做的事情。但是,我没有深入研究,而是快速创建了一个单独的函数来提取我需要的信息。
FB.api(cb.value, function(response) {
var data1=response.name;
return data1;
}
我使用警报来检查 cb.value 是否正常通过并且 response.name 是否正确,并且我检查了所有数据的拼写。然后我将 data1 拉回帖子并在帖子中得到“未定义”。我摆弄了这几种方法,但它并没有带回数据。第一种方法最有意义,但这里有一些严重错误。