c# - facebook c# sdk 入门

标签 c# facebook sdk facebook-c#-sdk

我想编写一个控制台应用程序,每天早上自动将信息发布到我的墙上一次。

我已经注册了 facebook developer 并且有 AppID 和 App Secret

我一直在尝试使用 C# facebook SDK 并浏览了几个示例。

这些示例似乎获得了用户 token - 但必须使用 Windows 窗体中的浏览器。这是一个自动化过程 - 所以我不想让用户在场。

我还使用应用程序 token 创建了一些示例 - 但它似乎无法写入墙壁。

我很快就写出了对应的 Twitter。我一定是在这里遗漏了什么???

正确的处理方法是什么?

看来我只需要: FaceBookClient(appID, appSecret) 然后只是 FaceBookClient.Put(消息) ???

补充说明:

使用 C# facebook sdk winform 应用程序 我不得不更改他们的 FacebookLoginDialog.cs 以使用以下 URL:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APPID&client_secret=APPSECRET&scope=user_about_me,publish_stream,offline_access

它在 WebBrowser.DocumentText 中返回一个 accesskey

如果我再调用:

            var fb = new FacebookClient(_accessToken);
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = fb.Post("me/feed", parameters);

我得到异常:

(OAuthException) 必须使用事件访问 token 来查询有关当前用户的信息。

如果我将上面的代码更改为不使用该访问 token - 但使用 appID 和 Appsecret:

           FacebookClient myFacebookClient = new FacebookClient("APPID", "APPSECRET");
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = myFacebookClient.Post("me/feed", parameters);

然后我得到异常:

(OAuthException) 必须使用事件访问 token 来查询有关当前用户的信息。

我猜是同一个异常

最佳答案

这是我发现的。

http://facebooksdk.codeplex.com/ 下载 facebook C# sdk 源代码和示例

解压缩代码并将名为 CS-WinForms 的 Facebook C# SDK 示例加载到 Visual Studio。

在 Form1.cs 的顶部 - 输入您的应用程序 ID

运行应用程序。

Form1.cs 弹出一个按钮“登录 Facebook”。单击按钮。

FacebookLoginDialog.cs 弹出一个浏览器窗口,其中显示 facebook 请求权限。

FacebookLoginDialog.cs 创建一个浏览器窗口,它将转到您在 Facebook 上的用户并请求权限。默认情况下,这些权限是:user_about_me、publish_stream、offline_access。

Offline_access 表示您获得的 AccessToken - 永不过期

在 Facebook 中单击“确定”以允许该应用程序访问您的 Facebook 数据。

FacebookLoginDialog.cs 应该发现您已登录并获得永不过期的访问 token 。

访问 token 是一个字符串。

插入一个断点,以便您可以复制此访问 token 。保存此访问 token ,因为您可以从现在开始使用它来访问 Facebook。

Facebook 开发者网站有一些工具可以用来检查访问 token https://developers.facebook.com/tools/debug/access_token 您可以输入您的访问 token 并单击“调试”,它应该列出您的应用程序 ID、用户 ID,对于“过期”,它应该说“从不”。

一旦你有了这个访问 token - 那么你就可以简单地编写如下代码:

                        var fb = new FacebookClient(AccessToken);
                        dynamic parameters = new ExpandoObject();
                        parameters.message = FacebookString;
                        dynamic result = fb.Post("me/feed", parameters);
                        var id = result.id;

将消息发布到 Facebook!

关于c# - facebook c# sdk 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8720023/

相关文章:

c# - 具有父子关系的 Linq to sql 查询

java - Android Facebook SDK 授权后访问 token 无效

iphone - 用于语音转文本(语音识别)iPhone 的 API 或 SDK

android - eclipse中更新ADT后出错

c# - 是否可以从 WP7 应用程序导航到设备设置?

c# - 为什么我得到 "CS0472: The result of the expression is always true since a value of type int is never equal to null of type int?"

c# - yield 语句实现

ios - Facebook自定义登录按钮swift 3 : bug

android - 编译时验证失败(Account Kit Android)

iphone - 查询实例是否已被释放