Facebook OAuth编程,试图让用户进行身份验证

时间:2012-10-16 21:04:58

标签: javascript facebook oauth

我正在尝试做这个教程https://developers.facebook.com/docs/howtos/login/getting-started/

我已经完成了本教程所提供的所有必要(我认为)。它的目标是让您的网页使用OAuth验证用户的Facebook信息。

我的HTML代码如下......

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function main(){ // runs all the other methods when needed, and maintains the proper path from making the form to posting to Facebook
    var imageURL = getImageURL();
    $("img[src='" + imageURL + "']").after("</br><form><input type=\"checkbox\" name=\"geo\" value=\"geolocation\"><b>Use Geolocation?</b> </br> <b>Additional Information About the Image: </b> <input type=\"comment\" name=\"cmnt\"></form>");
    alert("Form should have been placed.");
}

function getImageURL(){
    var url = "http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Solid_black.svg/200px-Solid_black.svg.png";
    return url;
}

function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            // connected
            testAPI();
        } else {
            // cancelled
        }
    });
}

function testAPI() {
    alert('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
        alert('Good to see you, ' + response.name + '.');
    });
}
</script>
</head>
<body onload="main()">
    <div id="fb-root"></div>
    <script>
  //-----------------------------
  // This is an initilization script created by Facebook. 
  //-----------------------------
  // Additional JS functions here
  window.fbAsyncInit = function() {
FB.init({
  appId      : 'hiddenappid', // App ID
  channelUrl : 'hiddenwebpage', // Channel File
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  xfbml      : true  // parse XFBML
});

    // Additional init code here
    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            // connected
        } else if (response.status === 'not_authorized') {
            // not_authorized
            login();
        } else {
            // not_logged_in
            login();
        }
    });
   };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

<b> Page </b>
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Solid_black.svg/200px-Solid_black.svg.png">

</body>
</html>

这是一些代码,但它主要是教程中的所有代码。你基本上可以忽略其余部分。

我只是想知道如何运行此身份验证脚本?当我开始页面时没有任何反应。

另外,我没有从实际的网页上运行它,我只是运行html文件。如果可能影响代理,我也会支持代理。提前谢谢!

1 个答案:

答案 0 :(得分:1)

页面必须可公开访问,您在Facebook应用中定义的URL必须与要访问的网址相匹配。前几天我的测试网站http://omgtrolls.com

进入了同样的设置