【发布时间】:2012-08-22 23:22:59
【问题描述】:
我知道这个问题已经被问过很多次了,如果答案是现成的,但我无法找到答案,我深表歉意。
我正在使用 VS 2010 和最新版本的 Facebook C# SDK。我使用 VS 包管理器中的“Install-Package Facebook”命令安装了它。
在花费大量时间研究如何使用 SDK 之后,我正在通过 Facebook Javascript SDK 使用 FB 进行身份验证。实际上我是按照Getting Started Tutorial 的步骤进行的。并且在我的努力中非常成功。我现在在我的 aspx 页面上有一个“登录”按钮,它会打开登录窗口并允许我通过它进行身份验证。我还能够将我的访问令牌存储在会话变量中并使用它。
我已经通过对我使用访问令牌创建的FacebookClient 对象执行 Get 进行了测试,并且能够检索有关粉丝页面的数据。
说了这么多,是为了让你知道我已经取得了一些成功。我准备开始通过我的网站在粉丝专页上发帖,发现这个链接Simplest way to post to a facebook fan page's wall with C#!
我想 - 太棒了!这正是我所需要的。从这篇文章中复制代码后,我现在在ExpandoObject 上得到一个“未知类型”。
为方便起见,这里是我复制的代码。
if (Session["AccessToken"] != null)
{
var accessToken = Session["AccessToken"].ToString();
dynamic messagePost = new ExpandoObject();
messagePost.access_token = "[YOUR_ACCESS_TOKEN]";
messagePost.picture = "[A_PICTURE]";
messagePost.link = "[SOME_LINK]";
messagePost.name = "[SOME_NAME]";
messagePost.caption = "{*actor*} " + "[YOUR_MESSAGE]"; //<---{*actor*} is the user (i.e.: Aaron)
messagePost.description = "[SOME_DESCRIPTION]";
FacebookClient app = new FacebookClient(accessToken);
app.Post("/" + [PAGE ID] + "/feed", messagePost);
}
所以我的问题实际上是关于ExpandoObject。这个对象还在 SDK 中吗?如果是这样,我错过了什么,如果没有,我应该如何拨打这个电话?
当我问的时候,在请求访问令牌时我还需要做什么才能获得在粉丝页面上发布的适当权限吗?如上所述,我按照 Facebook C# SDK Site 上的入门页面获取我的访问令牌。我之所以问这个问题是因为在我的研究过程中,我遇到过不同的帖子,它们都在谈论确保您拥有适当的权限以便在 Facebook 上做不同的事情。
非常感谢任何帮助, 丹
【问题讨论】:
-
今天早上做了更多研究后,我找到了权限问题的答案。由于我使用的是 fb-login-button 插件,我只需将“范围”属性添加到.
标签: c# asp.net facebook sdk facebook-c#-sdk