Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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#Windows应用商店应用程序整合Facebook_C#_Facebook_Windows 8_Facebook C# Sdk_Windows Store Apps - Fatal编程技术网

通过C#Windows应用商店应用程序整合Facebook

通过C#Windows应用商店应用程序整合Facebook,c#,facebook,windows-8,facebook-c#-sdk,windows-store-apps,C#,Facebook,Windows 8,Facebook C# Sdk,Windows Store Apps,github上的C#Facebook SDK主机允许Windows应用商店应用程序通过应用程序登录其帐户,并通过应用程序发布状态或与应用程序相关的内容,但仍有一些概念我不理解 首先,只有在我登录当前会话后才能执行与facebook相关的任务。我不能登录一次(比如,当我第一次下载应用程序时),然后让应用程序保留我的设置。然后,每当我想通过我的应用发布一些内容时,我可以直接发布,而不必再次登录(在同一个或另一个会话中) 我希望在我的应用程序中,我能够通过设置符中的一个选项登录,该选项将导航到我的主页

github上的C#Facebook SDK主机允许Windows应用商店应用程序通过应用程序登录其帐户,并通过应用程序发布状态或与应用程序相关的内容,但仍有一些概念我不理解

首先,只有在我登录当前会话后才能执行与facebook相关的任务。我不能登录一次(比如,当我第一次下载应用程序时),然后让应用程序保留我的设置。然后,每当我想通过我的应用发布一些内容时,我可以直接发布,而不必再次登录(在同一个或另一个会话中) 我希望在我的应用程序中,我能够通过设置符中的一个选项登录,该选项将导航到我的
主页.xaml
,然后我将能够为多个会话保存该登录状态。目前,我已经运行了第一个位(虽然不是完全的,我可以登录,但现在就是这样),但是我/我如何能够在以后的会话中自动发布内容而不必再次登录

其次,许多与Facebook应用程序集成的应用程序允许用户通过Facebook应用程序发布存储在本地应用程序或web用户帐户中的数据。这是如何执行的

假设我有一个类
MyDataClass
,它包含属性
DataTitle
DataItem1
DataItem2
。我希望能够将此信息发送到我的墙上,并将其显示为普通帖子(此类功能的示例包括ask.fm和formspring)。然后我甚至可以通过我的Facebook应用程序存储此数据,并将其发送给用户朋友(如果他们愿意的话)

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

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

//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");
有关扩展访问令牌的信息,请参阅


您必须在Facebook开发者仪表板中创建应用程序,然后将Windows 8应用程序与Facebook应用程序集成。现在,当用户通过facebook登录时,成功登录后,您将获得对所有用户唯一的访问令牌。所以您可以保存该访问令牌,这样用户就不必再登录更多的时间了。目前Facebook已经停止了大量API,所以Facebook C#SDK也提供了较少的方法。我看到了,我已经完成了你提到的大部分内容。我已经在Facebook上创建了一个应用程序,并使用它的应用程序ID从Facebook获得了回复。您的意思是,如果我将用户首次登录后获得的访问令牌保存在独立存储中,我将能够在连续的应用程序会话中毫无问题地使用它,还是它会更改?当用户更改密码时,令牌将过期。然后我也建议你们去Facebook开发者网站看看令牌什么时候到期。非常感谢你们,我已经按照你们说的申请了,这似乎很有意义,也很有效。我的第二点可以再等一次,因为我还没有完全准备好实施它。如果你把你所说的全部作为答案,我会很高兴地把它标记为正确的。