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# 如何使用FacebookClient发布到Facebook页面_C#_Facebook_Facebook Graph Api_Facebook C# Sdk - Fatal编程技术网

C# 如何使用FacebookClient发布到Facebook页面

C# 如何使用FacebookClient发布到Facebook页面,c#,facebook,facebook-graph-api,facebook-c#-sdk,C#,Facebook,Facebook Graph Api,Facebook C# Sdk,我试图在facebook上发布一个页面,因为这个页面我遇到了问题 当我运行此命令时,我得到: Facebook.Facebook OAuthException:(OAuthException-#200)(#200)用户对此页面上的此操作没有足够的管理权限 我相信我需要一个用户访问令牌,而不是应用程序访问令牌。在线示例显示了用“代码”交换令牌。我目前无法检索此“代码” 对于这样一项简单的任务来说,这个过程似乎异常复杂。我是不是遗漏了什么 我需要用户访问令牌吗?假设此代码位于Windows服务中且无

我试图在facebook上发布一个页面,因为这个页面我遇到了问题

当我运行此命令时,我得到:

Facebook.Facebook OAuthException:(OAuthException-#200)(#200)用户对此页面上的此操作没有足够的管理权限

我相信我需要一个用户访问令牌,而不是应用程序访问令牌。在线示例显示了用“代码”交换令牌。我目前无法检索此“代码”

对于这样一项简单的任务来说,这个过程似乎异常复杂。我是不是遗漏了什么

我需要用户访问令牌吗?假设此代码位于Windows服务中且无法提示用户,如何获取此令牌

常量字符串applicationId=“114810611889734”; 常量字符串应用程序SECRET=“***SECRET***”; 常量字符串pageId=“102661313114041”; var client=new FacebookClient(); 动态令牌=client.Get(“oauth/access\u令牌”,新建 { 客户端id=应用程序id, 客户端\u机密=应用程序机密, 授予\ u type=“客户\凭证” }); client.AccessToken=token.access\u token; 动态参数=新的ExpandooObject(); parameters.title=“测试标题”; parameters.message=“测试消息”; var result=client.Post(pageId+“/feed”,参数);
好的,我终于可以在我的Facebook页面上发帖了,但现在我需要一个用户。这些是我采取的步骤

首先,我需要创建一个新的Facebook帐户,我将使用它发布到这个页面

接下来,我转到页面的“管理员角色”部分,将该用户添加为经理

我从以下URL获取了此用户的访问令牌:

重定向后,URL应包含一个不会过期的访问令牌。(expires_in=0应位于URL中。)

为了确认这一点,我转到位于的访问令牌调试器,输入我的访问令牌并点击调试

最后,我对代码做了一些更改,以使用我的访问令牌,而不是应用程序id和应用程序机密

const string accessToken = "MY_ACCESS_TOKEN";
const string pageId = "MY_PAGE_ID";

var client = new FacebookClient(accessToken);

dynamic parameters = new ExpandoObject();
parameters.title = "test title";
parameters.message = "test message";

var result = client.Post(pageId + "/feed", parameters);

此访问令牌现在已硬编码到我的应用程序的配置文件中。

在向oauth/Access\u令牌发送Get请求时,您应该将“publish\u stream”权限作为“scope”参数值。我在令牌中添加了scope=“offline\u Access,publish\u stream,manage\u pages”,尽管我仍然收到相同的权限错误。您好,参数是什么?我的意思是什么与facebook墙上的帖子相匹配?有相关的文件吗?