邀请朋友尝试脸书应用程序不起作用

Invite friends to try facebook app does not work

本文关键字:应用程序 不起作用 朋友      更新时间:2023-09-26

我有以下js代码,但它不起作用,我尝试了太多但没有成功:•我已经有一个未过期的完全访问令牌•我有所有的特权

<html>
<head>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<title>Invite</title>
</head>
<body>
<A href="#" onMouseOver="return changeImage()" ><img
name="jsbutton" src="http://cdn.property118.com/wp-content/uploads/2014/06              /Invite-      friends-to-read-Property118-.jpeg" width="110" height="28" border="0" 
alt="javascript button"></A> 
<SCRIPT language="JavaScript">
window.fbAsyncInit = function() {
    FB.init({ appId: xxxxxxxx, 
        status: true, 
        cookie: true,
        xfbml: true,
        oauth: true
        version    : 'v2.1'
    });
  };
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
function renderMFS() {
// First get the list of friends for this user with the Graph API
FB.api('/me/invitable_friends?limit=3000&access_token="I already have a non expire full user access token", 
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, 10); i++) {
 var friendItem = document.createElement('div');
 friendItem.id = 'friend_' + response.data[i].id;
 friendItem.innerHTML = '<input type="checkbox" name="friends" value="'
   + response.data[i].id
   + '" />' + response.data[i].name;
   mfsForm.appendChild(friendItem);
 }
 container.appendChild(mfsForm);
 // Create a button to send the Request(s)
 var sendButton = document.createElement('input');
 sendButton.type = 'button';
 sendButton.value = 'Send Request';
 sendButton.onclick = sendRequest;
 mfsForm.appendChild(sendButton);
 });
 }
 }
 });

</SCRIPT>
<div id="fb-root"></div> 
</body>
</html>

我希望我的代码显示类似此示例的内容,但是当我单击该 botton 时,没有任何反应。 提前致谢

首先,没有未过期的用户访问令牌,扩展用户令牌的有效期为 60 天。但无论如何,在使用 JavaScript SDK 时,您无需担心访问令牌,因为它会为您处理用户令牌。

话虽如此,该代码中存在很多问题:

  • 最大的问题是你没有任何授权例程。使用FB.login授权用户。同样,不要担心访问令牌。
  • 您正在尝试使用同步和异步的方式来包含JavaScript SDK。始终使用异步方式,忘记同步方式。
  • 在使用FB.init初始化JS SDK之前,您正在使用FB.getLoginStatus和FB.api。FB.getLoginStatus的整个代码块应该在FB.init之后,或者在用户交互(鼠标单击)调用的函数中。
  • 该链接不执行任何操作。代码中的任何位置都没有 changeImage 函数。
  • 任何地方都没有 sendRequest 函数,您正在尝试使用该输入按钮调用该函数。

只需打开浏览器控制台,您可能会看到一些错误,指出其中一些内容。

顺便说一句,这里有一篇关于如何以正确方式使用 JS SDK 的文章:http://www.devils-heaven.com/facebook-javascript-sdk-login/