C# 应用程序与 Facebook & Twitter 的集成(使用 oAuth)






4.91/5 (37投票s)
这是一个关于使用 Facebook 和 Twitter 进行身份验证以及设置状态的基础教程。
引言
本文描述了一个简单的教程,解释了
- 通过 C# 应用程序设置 Facebook 状态
- 通过 C# 应用程序发送推文
背景
上周,我必须做一个关于 Twitter 和 Facebook 与 C# 应用程序集成的概念验证。 我要做的就是在用户的 Facebook 墙上发布一个简单的状态或发布一条推文。 经过大量的研究后,我惊讶地发现缺乏可用的基本教程/资源。 我没有找到一个简单的“Hello World”示例来让我开始。 所以我不得不阅读一些高级教程并提取一个基本的 POC; 我将与社区分享。
这是我的第一次分享,因此我将不胜感激任何建议的改进。 此外,我非常欢迎任何建议/更正。 我很乐意向社区中的一些非常优秀的开发人员学习更多东西。
使用代码
FACEBOOK:
让我们首先完成本文的 Facebook 部分。
要使用 C# 应用程序在 Facebook 上设置状态,首先需要通过以下链接创建一个应用程序
https://developers.facebook.com/apps
- 单击创建新应用按钮。
- 填写所需信息,然后单击继续
- 现在您的应用程序已创建。 您需要注意两件事:应用程序 ID 和应用程序密钥。 我们稍后会用到它们。
- 现在让我们继续编码。 新建一个 Windows 窗体项目。 我们将在主窗体中添加一个 WebBrowser。
- 您的项目的 App.config 应该如下所示
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="EnableSqlDependency" value="true" />
<add key="ApplicationId" value="<YOUR APP ID GOES HERE>" />
<add key="ApplicationUrl" value="" />
<add key="ApiKey" value="" />
<add key="ApplicationSecret" value="<YOUR APP SECRET GOES HERE>" />
<add key="ExtendedPermissions" value="offline_access" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>
- 现在我们将继续授权应用程序。 为此,您必须在应用程序提示时登录到您的 Facebook 帐户。 这将为您提供您需要用来通信的访问令牌。
- 我们将使用 Facebook C# SDK (http://csharpsdk.org/)。 您可以从上述链接获取它
- 现在我们准备发布我们的状态
var fb = new FacebookClient(this.AccessToken);
dynamic result = fb.Post("me/feed", new { message = "My second wall post using Facebook C# SDK" });
- 完整的项目附在文章中,您要做的就是将您的应用程序 ID 和应用程序密钥输入到 app.config 中,使其正常工作。
现在让我们继续在 Twitter 上发送推文。 为此,我们将使用一个名为 Tweetsharp 的包装器。 在将您的应用程序与 Twitter 集成方面,它被广泛认为是业内最好的。 从 https://github.com/danielcrenna/tweetsharp 获取库。
要使用 C# 应用程序发送推文,首先需要通过以下链接创建一个应用程序
- 单击创建应用
- 使用您的 Twitter 帐户凭据登录后,您将被带到一个表单,您需要在其中填写所需信息才能创建应用程序。
- 完成应用程序创建后,您将被带到应用程序的页面。 您需要注意下图突出显示的键
- 如果尚未生成您的访问令牌和访问令牌密钥,请首先创建它们。
- 现在让我们继续编码。 新建一个控制台应用程序。
- 您的项目的 App.config 应该如下所示
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ConsumerKey" value="<YOUR CONSUMER KEY GOES HERE>" />
<add key="ConsumerSecret" value="<YOUR CONSUMER SECRET GOES HERE>" />
<add key="AccessToken" value="<YOUR ACCESS TOKEN GOES HERE>" />
<add key="AccessTokenSecret" value="<ACCESS TOKEN SECRET GOES HERE>" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json"
publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
- 使用 TweetSharp 库,我们将简单地发送一条推文,如下所示
TwitterStatus twitterStatus = twitterService.SendTweet(tweetMessage);
结论
我想感谢我从 Facebook C# SDK 示例以及 TweetSharp 示例中获得的帮助。 我很乐意收到对本文的任何意见,使其更好。 这是我的第一次,所以不要对我太苛刻