facebook c#sdk入门

Bub*_*bba 8 c# sdk facebook facebook-c#-sdk

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

我已经注册了Facebook开发者并拥有AppID和App Secret

我一直在尝试使用C#facebook SDK并查看了几个示例.

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

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

我很快写了Twitter等价物.我一定在这里遗漏了什么?

什么是正确的方法?

似乎所有我应该需要的是:FaceBookClient(appID,appSecret)然后只是FaceBookClient.Put(消息)???

澄清补充说:

使用C#facebook sdk winform应用程序我不得不更改他们的FacebookLoginDialog.cs以使用folling 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);
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

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

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

然后我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

我想这是同样的例外

Bub*_*bba 3

这是我发现的。

从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 应该发现您已登录并获取永不过期的访问令牌。

访问令牌是一个字符串。

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

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

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

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

向 Facebook 发布消息!

  • 您好,我找不到您所说的示例,您可以给我发送一个链接吗? (2认同)