在整个C#Windows应用商店应用中集成Facebook

问题描述:

github上的C#Facebook SDK主机允许Windows应用商店应用通过应用登录到他们的帐户,状态或应用程序相关的内容,但仍然有一些概念我不明白。在整个C#Windows应用商店应用中集成Facebook

首先,我是否可以在登录当前会话后执行Facebook相关任务。我可以不登录一次(比如,当我第一次下载应用程序时),然后让应用程序保留我的设置。然后,无论何时我想通​​过我的应用发布一些内容,并且可以立即做到这一点,而不必再次登录(在同一个或另一个会话) 我希望在我的应用程序中,我将能够登录通过设置的魅力选项将导航到我的HomePage.xaml,然后我将能够保存多个会话的登录状态。目前我已经开始了第一批(尽管不是完全的,我可以登录但现在就是这样),但是我将如何自动在未来会话中发布内容,而无需再次登录?其次,许多与Facebook应用程序集成的应用程序允许用户通过Facebook应用程序对应的方式发布存储在其本地应用程序或Web用户帐户中的数据。这是如何执行的?

说我有一个类MyDataClass其中包含属性DataTitle,DataItem1DataItem2。我希望能够将它发送到我的墙上,并将其显示为普通帖子(这类功能的示例包括ask.fm和formspring之类的东西。)然后,我还能够通过我的存储器来存储这些数据Facebook应用程序,并且能够将它发送给用户朋友,如果他们愿意?

如果有人能够向我解释这些事情,我将不胜感激。我已经搜索了几天,并没有回答这些更大的问题。

+0

你必须创建应用程序在Facebook开发的仪表板则集成了Facebook应用程序,您的Windows 8应用。现在,当用户通过Facebook登录后,成功登录后,您将获得对所有用户都唯一的访问令牌。因此,您可以保存该访问令牌,然后用户不必登录更多时间。目前Facebook已经停止了大量的API,因此Facebook C#SDK也提供了更少的方法 – Xyroid 2013-03-26 10:23:13

+0

我明白了,我已经完成了大部分提到的内容。我在Facebook上创建了一个应用程序,并使用其应用程序ID获得Facebook的回复。你是说如果我保存访问令牌后,用户在第一次登录后就能进入独立存储,我可以在连续的应用会话中毫无问题地使用它,或者它会改变吗? – 2013-03-26 16:23:23

+0

用户更改密码时令牌已过期。那么我也建议你查看Facebook开发者网站,以了解令牌何时到期。 – Xyroid 2013-03-28 08:29:41

Facebook C#SDK可以通过NuGet使用,或者您可以从GitHub获取库。当任何用户通过Facebook登录时,登录结果返回“访问令牌”。它是所有Facebook用户中独一无二的。您可以将该访问令牌保存在个人用户的LocalSetting中。本地设置文档可以在here找到。本地设置可以用这种方式。

//create instance of local settings 
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 

// Create a setting 
localSettings.Values["FB_Access_Token"] = "THIS_IS_DUMMY_ACCESS_TOKEN"; 

// Read data from a setting 
var objFbAccessToken = localSettings.Values["FB_Access_Token"]; 

if (objFbAccessToken == null) 
{ 
    // No data 
    // Do relogin of Facebook and save new facebook token 
} 
else 
{ 
    // Access user's Facebook data with help of Facebook C# SDK and Access Token 
} 

// Delete a setting 
localSettings.Values.Remove("objFbAccessToken"); 

请参阅this扩展访问令牌。

Get long live access token from Facebook