标签: facebook-c#-sdk

Facebook 60天访问令牌和不推荐使用的Offline_Access

Facebook的"弃用脱机访问"文档(http://developers.facebook.com/docs/offline-access-deprecation/)声明如下:


*服务器端OAuth开发人员

如果access_token是从服务器端 OAuth调用生成的,则生成的access_token将具有更长的到期时间.如果在该用户仍然存在有效的access_token的情况下进行呼叫,则来自该第二次呼叫的返回的access_token可以是相同的或者可能已经改变,但是在任何一种情况下,到期时间都将被重置.同样,在同一天多次调用此选项将仅导致第一次调用延长到期时间.*


这似乎意味着服务器端OAuth 自动获得一个长期到期令牌.如果我在Facebook Developer高级对话框中启用"弃用脱机访问"设置,我确实会发现这种情况 - 令牌在60天后到期.但随着设置,令牌将在2小时后到期.

关于这个设置,我有点困惑:

题:

  • 这个设置听起来像是一个"过渡/迁移"选项....如果我启用此选项,我将在6个月后获得60天代币吗?不使用"交换"端点?

  • 为什么不自动将所有令牌设置为60天?

facebook facebook-graph-api facebook-c#-sdk facebook-oauth

7
推荐指数
1
解决办法
8659
查看次数

无法将Facebook访问令牌延长至60天

我无法将Facebook访问令牌的到期时间延长到60天.我在Facebook开发者页面上阅读了几篇文章:https: //developers.facebook.com/roadmap/offline-access-removal/

具体来说,我正在使用Facebook C#SDK,当我要求身份验证时,我正在做FacebookClient.GetLoginUrl(),并通过调用来获取访问令牌.

在那之后,我尝试使用FacebookClient.GetAsync("oauth/access_token")通过使用以下URL模式来延长到期时间

https://graph.facebook.com/oauth/access_token?             
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN 
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到access_token的过期时间被延长.我确实将我的应用设置为使用已弃用的offline_access ...任何人都有使用Facebook C#SDK的经验,可以给我一些想法吗?

我误解了"延长过期时间"的含义是否意味着在Facebook doc中?

非常感谢你!

facebook-c#-sdk

7
推荐指数
1
解决办法
3726
查看次数

如何使用C#SDK获取访问令牌

我将Facebook SDK更新到6.0.10,一些以前工作的代码不再起作用了.我曾经在用户的墙上发布使用下面的方法.

FacebookClient曾经使用的类AppId,并且AppSecret我没有为我的应用程序提供任何访问令牌.

string uId = "SomeUid";
FacebookClient fb = new FacebookClient(AppId,AppSecret );

string userFeedPath = String.Format("/{0}/feed", uId);

dynamic parameters = new ExpandoObject();
parameters.link = "Test@test";
parameters.message = "test";

try
{
    dynamic result = fb.Post(userFeedPath, parameters);
}
catch(Exception ex)
{

}
Run Code Online (Sandbox Code Playgroud)

现在即使我试试这个,

FacebookClient fb = new FacebookClient();

fb.AppId = "1234...";
fb.AppSecret = "76e69e0c334995cecc8c....";
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

(OAuthException - #200)(#200)此API调用需要有效的app_id.

我该如何解决这个问题?

c# facebook-c#-sdk

7
推荐指数
1
解决办法
5万
查看次数

在Facebook应用程序中获取朋友的电子邮件

如何在我的Facebook应用程序中以编程方式获取我朋友的电子邮件?facebook是否提供此功能?

c# facebook facebook-c#-sdk

6
推荐指数
1
解决办法
4110
查看次数

即使在通过SDK成功登录Facebook后,BrowserSession.LoginComplete事件也无法正常工作

当我通过Browsersession.Login()登录Facebook时,它工作正常,但BrowserSession.LoginComplete事件在此期间不起作用.

任何人都可以建议为什么我的项目中会发生这种事情?

c# facebook facebook-c#-sdk

6
推荐指数
1
解决办法
272
查看次数

FaceBook SDK中的注销按钮

我在我的网站上有这个fb登录按钮,它工作得很好.如何实现注销按钮?以下是我的登录部分代码.

<fb:login-button size="small" onlogin="RedirectLogon();" perms="email,user_birthday" autologoutlink="true">
    <%=LanguageManager.Instance.Translate("root/facebook/login")%>
</fb:login-button>
Run Code Online (Sandbox Code Playgroud)

facebook facebook-c#-sdk

6
推荐指数
2
解决办法
3万
查看次数

将Facebook Requests 2.0与C#SDK一起使用

我正在尝试使用SDK更新书签计数字段,但尚未取得任何成功.

有人可以告诉我我需要实例化哪些类来执行类似于以下链接的操作:

http://developers.facebook.com/blog/post/464

注意:

该链接演示了如何设置书签计数并将其删除.我希望能够对SDK做同样的事情,任何帮助将不胜感激.

facebook facebook-c#-sdk

6
推荐指数
1
解决办法
2436
查看次数

在WP7上注销Facebook C#SDK

我正在尝试添加一个注销功能,该功能在ApplicationBarMenuItem的click事件中调用,遵循此博客上的说明

这就是我的代码:

    var oauth = new FacebookOAuthClient();

    var logoutParameters = new Dictionary<string, object>
          {
              { "next", "http://www.facebook.com" }
          };

    var logoutUrl = oauth.GetLogoutUrl(logoutParameters);

    LayoutRoot.Children.Add(FacebookLoginBrowser);
    FacebookLoginBrowser.Navigate(new Uri(logoutUrl.AbsoluteUri, UriKind.Absolute));
Run Code Online (Sandbox Code Playgroud)

我期望这段代码会在Navigated事件完成时将用户从Facebook注销,然后显示参数中传递的任何URL(在本例中为facebook.com).然而,我所看到的是它总是加载" http://m.facebook.com/ ",无论传入什么,它都不会注销Facebook.我不关心它加载后的内容(这会很棒,但此时我只是希望它执行注销操作,以便用户可以在他们再次启动我的应用程序时退出并登录).我能成功注销用户的唯一方法是,如果他们了解页面何时加载,他们需要向下滚动,放大,并在页面底部手动点击"注销" - 这不是一个可接受的用户体验.

我还从该博客下载了示例代码,它大致相同.

我已经看过这个帖子,这个帖子和使用的URL非常接近oath.GetLogoutUrl(logoutParameters)返回的内容,但我尝试构造具有相同结果的确切URL:

var logoutUrl = new Uri("https://www.facebook.com/logout.php?next=http://www.facebook.com&access_token="+fbClient.AccessToken);
Run Code Online (Sandbox Code Playgroud)

这绝对是我的应用程序的船舶止动器,所以任何人可以提供的任何帮助或建议将非常感谢!

silverlight facebook logout windows-phone-7 facebook-c#-sdk

6
推荐指数
1
解决办法
2821
查看次数

如何从.NET发布到Facebook页面墙

我创建了Facebook页面.我没有应用程序密钥,也没有访问令牌.

我想从我的.NET桌面应用程序发布到此页面.我该怎么做?任何人都可以帮忙,我在哪里可以获得访问令牌?

我应该创建一个新的Facebook应用程序吗?如果是,我如何授予此应用程序的权限以在页面墙上发布?

UPD1:我没有网站.我需要将公司的新闻从.NET桌面应用程序发布到公司的Facebook页面.我所拥有的只是Facebook页面帐户的登录/密码.

UPD2:我创建了Facebook应用程序.使用AppID/SecretKey.我可以获得访问令牌.但是......我如何授予发布到页面墙的权限?

(OAuthException) (#200) The user hasn't authorized the application to perform this action

c# facebook facebook-graph-api access-token facebook-c#-sdk

6
推荐指数
2
解决办法
2万
查看次数

Facebook C#SDK - 服务器流认证

我使用NuGet安装的Facebook C#SDK允许用户使用Facebook登录我的网站.在我找到的所有C#SDK文档中,使用JavaScript SDK获取了访问令牌.我想在不使用JavaScript SDK的情况下完成整个身份验证流服务器端.

  1. 在哪里可以找到有关使用Facebook C#SDK进行完整服务器端身份验证所需遵循的步骤的良好文档或示例代码?

  2. 结合C#SDK和JavaScript SDK有什么优势,还是仅仅坚持服务器端流程?

facebook facebook-c#-sdk facebook-login

6
推荐指数
2
解决办法
5569
查看次数