2012-07-11 78 views
0

我有一个在asp.net mvc上编写的Facebook画布应用程序。我无法看到Facebook上发生了什么。Facebook的错误? 1)用户图片网址2)用cookie认证

  1. 我有加载FB用户图像的客户端代码:

    FB.api( '/' +用户id,{字段: “ID,链接,名称,图片”},功能(用户){
    $('img [data-fb-user-img]',subjectVoterElement).attr('src',user.picture.data.url);
    });

有一天它响应user.picture中的图片url,另一天 - 在user.picture.data.url,所以我有错误的时间。为什么FB给出不同的响应结构?
2.
要授权FB用户在我的应用程序我使用Facebook cookie被发送到我的应用程序服务器。然后,我从中提取值,然后使用ParseSignedRequest方法解析值,并将获得的代码交换为令牌。
HttpCookie fbCookie = filterContext.RequestContext.HttpContext.Request.Cookies [ String.Format(“fbsr_ {0}”,System.Configuration.ConfigurationManager.AppSettings [“FB_Id”])];
string code = ((dynamic)FacebookService.FacebookService.Client.ParseSignedRequest(fbCookie.Value))。code;

  using (var webClient = new WebClient()) 
      { 
       var result = webClient.DownloadString( 
        String.Format( 
         "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri=&client_secret={1}&code={2}", 
         FacebookService.FacebookService.Client.AppId, 
         FacebookService.FacebookService.Client.AppSecret, 
         code 
         ) 
        ); 

有时我得到授权错误说代码已过期或指定用户已从Facebook注销。事实上,我在一个小时前就注销了,从那一刻起,这已经成功了。此外,facebook的cookie过期时间设置得足够长,还没有到来。
有没有人有同样的问题?谢谢

回答

0

我不知道这是否是#1的问题,但我有问题,所以我只是把它扔在那里。实际上有(可能更多)至少两种不同类型的Facebook用户:

  1. 有帐户就像你经常Facebook用户和我
  2. 帐户是只是一个Facebook页面
设置

如何创建仅用于页面的Facebook帐户?

  • 第1步:您的Facebook账户的注销
  • 第2步:去这里:http://www.facebook.com/pages/create.php
  • 第3步:设置假的业务或任何类型的页面的页面你 想
  • 测试
  • 4步:选择我没有一个Facebook帐户,并创建一个新的电子邮件地址

现在的帐户 与普通用户,并尝试应用程序这个只有facebook页面的用户。就像我说的,我不确定这是否是你的问题,但我有一堆其他问题与Facebook页面只有帐户,所以这可能是值得一试。