C# 推荐Url';Facebook页面标签上的s

C# 推荐Url';Facebook页面标签上的s,c#,facebook,signed,C#,Facebook,Signed,我有一个Facebook页面标签应用程序,我试图找出页面标签的访问者来自哪里。我已经读到,您可以从签名请求中的app_数据获取这些数据,但每当我尝试获取签名请求时,app_数据都不存在 我使用FB.getLoginStatus在Facebook上的标签中获取签名请求,但是 当我调试带有签名的请求时,我得到错误“错误签名” 您的签名请求可能未使用我们的app\u id xxxxx签名。以下是有效负载: { “算法”:“HMAC-SHA256”, “代码”:“xxxx”, “发布时间”:xxxx,

我有一个Facebook页面标签应用程序,我试图找出页面标签的访问者来自哪里。我已经读到,您可以从签名请求中的app_数据获取这些数据,但每当我尝试获取签名请求时,app_数据都不存在

我使用FB.getLoginStatus在Facebook上的标签中获取签名请求,但是 当我调试带有签名的请求时,我得到错误“错误签名”

您的签名请求可能未使用我们的app\u id xxxxx签名。以下是有效负载: { “算法”:“HMAC-SHA256”, “代码”:“xxxx”, “发布时间”:xxxx, “用户id”:“xxxx2” }


我将C#SDK与Javascript一起使用

您可以使用本主题中的代码解码签名请求:

通过添加

var lAppData = Convert.ToString(o.SelectToken("app_data")).Replace("\"", "");
要获取tab应用程序的应用程序_数据,您需要在获取权限时将其添加到重定向url。您重定向的url应类似于:

我只能猜测,您出现此错误的原因是您刚刚将已签名的请求粘贴到地址栏中,而不是echo工具使用的地址栏中。错误是因为您的签名请求由您的应用程序id签名,并且您正试图将其与具有另一个应用程序id的echo一起使用。但这只是猜测:)


我的主要语言是PHP,但希望我能提供帮助:)

O的值是{“算法”:“HMAC-SHA256”,“expires”:1331035200,“发布地址:1331029487”,“oauth_令牌”:“xxxxx”,“page”:{“id”:“xxxxx”,“liked”:false,“admin”:true},“user”:{“国家”:“gb”,“地区”:“en_US”,“年龄”:{“min”:21},“用户id”:“xxxx”}但正如您看到的,仍然没有应用程序数据,您是否已将应用程序数据添加到重定向url?应用程序数据的整个想法是将其放在这些重定向上。如果可能,请提供构建登录url的代码。据我所知,app_数据已编码到签名请求中。使用FB.getLoginStatus(函数(响应){if(response.authResponse){//已登录并连接的用户,您认识的某人window.location.href=“/?signed_request=“+window.response.authResponse.signedRequest;”或者{//没有可用的用户会话,您不认识的人});主控制器处理该请求。是的,它在签名请求中进行了编码。但是签名请求由facebook在登录页面上进行编码。如果您希望它在应用程序数据中包含任何数据,则需要将该数据发送到facebook登录屏幕。作为参考,我将为您提供我的一个应用程序的身份验证链接。请参阅如何添加应用程序数据。我很抱歉我不确定我是否理解。我无法访问Facebook的推荐URL,我的理解是,app_数据是由Facebook发送的,与页面和用户数据非常相似,而不是我可以附加的数据。你有没有任何教程或链接可以让我试一下?
var lAppData = Convert.ToString(o.SelectToken("app_data")).Replace("\"", "");