Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Facebook页面选项卡应用程序中获取身份验证请求_C#_Facebook_Facebook C# Sdk_Facebook Javascript Sdk - Fatal编程技术网

C# 在Facebook页面选项卡应用程序中获取身份验证请求

C# 在Facebook页面选项卡应用程序中获取身份验证请求,c#,facebook,facebook-c#-sdk,facebook-javascript-sdk,C#,Facebook,Facebook C# Sdk,Facebook Javascript Sdk,我想在Facebook上开发一个页面标签应用程序 到目前为止,我一直使用asp.net开发画布页面应用程序,所以这将是我的第一个页面标签应用程序 我一直在获取用户信息和好友列表的身份验证请求 我使用了由computerbeacon开发的Facebook graph toolkit dll,但它并没有解决我的页面标签问题 任何c或JavaScript源代码都可以帮助我,我可以使用jssdk或Csdk,但我只想提供一个示例或链接,让我了解如何在页面选项卡应用程序中实现这一点 我把这个代码放到我的页面

我想在Facebook上开发一个页面标签应用程序

到目前为止,我一直使用asp.net开发画布页面应用程序,所以这将是我的第一个页面标签应用程序

我一直在获取用户信息和好友列表的身份验证请求

我使用了由computerbeacon开发的Facebook graph toolkit dll,但它并没有解决我的页面标签问题

任何c或JavaScript源代码都可以帮助我,我可以使用jssdk或Csdk,但我只想提供一个示例或链接,让我了解如何在页面选项卡应用程序中实现这一点

我把这个代码放到我的页面上,但它说FB没有定义 如果我把connect.Facebook、all.js放在head部分,这一次它说fb.login在fb.init之前调用,它不会以两种方式显示权限窗口

<body>
 <div id="fb-root"></div> 
  <script>
    window.fbAsyncInit = function () {
    FB.init({
        appId: '396868406993330', // App ID 

        status: true, // check login status 
        cookie: true, // enable cookies to allow the server to access the session 
        xfbml: true  // parse XFBML 
    });

    // Additional initialization code here 
};

// 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> 
<form id="form1" runat="server">
<div>
hello world


<script>
    FB.login(function (response) {
        if (response.authResponse) {
            console.log('Welcome!  Fetching your information.... ');
            FB.api('/me', function (response) {
                console.log('Good to see you, ' + response.name + '.');
            });
        } else {
            console.log('User cancelled login or did not fully authorize.');
        }
    }, { scope: 'email,user_likes' }); 

   </script>
    </div>
    </form>
     </body>
您可以使用,即函数,在前端请求权限

例如:

FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: 'email,user_likes'});
记住先加载FBJSSDK。i、 e

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'YOUR_APP_ID', // App ID
      channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

    // Additional initialization code here
  };

  // 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>

Facebook-c-sdk已经从第5版更改为v6 beta版。上一版本,服务器端不再有Facebook身份验证方法。。为了对用户进行身份验证并获取一些数据,您需要:

从Javascript进行身份验证,并通过post请求将访问令牌字符串发布到服务器端

通过facebook-c-sdk生成登录URL,并将用户重定向到auth。对话

为了获得facebook-c-sdkv6,在NuGet中使用以下命令

Install-Package facebook -pre
对于Javascript,只需参考simon604所说的JS库


客户端JS和服务器C通信的一个好方法是创建一个包含访问令牌字符串的隐藏字段。

好的,我在facebook上找到了这个链接

它解决了我请求许可的问题

现在我专注于使用访问令牌来获取用户信息和朋友


谢谢你的回答

谢谢你的回答。我有两个问题:什么是频道url?它是我应用程序的默认页面吗?第二个问题是我是否应该将connect.facebook.net作为脚本放到head部分?