使用C#(Facebook)发布到页面作为页面

时间:2014-12-15 02:24:03

标签: c# facebook facebook-graph-api

由于此页面,我已经取得了一些进展:Facebook Error (#200) The user hasn't authorized the application to perform this action

然而,在发布为网页时,我现在已经迷失了。从评论中,我看到我需要

  

...获取页面访问令牌,方法是授予自己manage_pages权限,并从API调用中获取页面令牌/ me / accounts(使用最后一次调用的用户令牌)

我已经离开并授予自己manage_pages权限,但如何对/me/accounts进行API调用以获取页面令牌?一旦我获得了页面令牌,我只是简单地使用该令牌并保留我的代码吗?

以下代码:

        var pageId = facebookPageId;

        var app = new FacebookClient();
        app.AccessToken = facebookAccessToken; // copied from Graph Explorer

        dynamic messagePost = new ExpandoObject();
        messagePost.access_token = facebookAccessToken; // copied from Graph Explorer
        messagePost.link = "www.google.com";
        messagePost.name = "some name";
        messagePost.caption = "{test actor} " + "Test message"; //<---{*actor*} is the user (i.e.: Aaron)
        messagePost.description = "Test description";

        try {
            var result = app.Post("/" + pageId + "/feed", messagePost);
        } catch (FacebookOAuthException ex) {
            var test = ex;
        } catch (FacebookApiException ex) {
            var test = ex;
        }

1 个答案:

答案 0 :(得分:1)

  

我已经离开并授予自己manage_pages权限,但如何对/ me / accounts进行API调用以获取页面令牌?

您使用API​​,我假设在app.Post的C#SDK中有一个等效的调用app.Get。看到这是个人应用,您可以再次使用开发者工具,从下拉列表中选择您的应用,授予自己manage_pages权限,然后拨打/me/accounts

Page Tokens

页面的页面标记应该在结果中。

您也可以通过致电PAGE_ID?fields=access_token

直接获取

Specific Page Token