Как администратор страницы поклонников facebook может опубликовать

#c# #facebook #post #admin

#c# #Facebook #Публикация #администратор

Вопрос:

** Я могу выполнить установку, но от своего имени, поскольку администратор facebook отправляет, не делится. в чем может быть проблема? Asp.net Я использую facebook sdk

как администратор может получить доступ к странице поклонников

 protected void Page_Load(object sender, EventArgs e)
{
    if (Request["Code"] == null)
    {
       Response.Redirect(string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}amp;redirect_uri={1}amp;scope={2}", app_id, Request.Url.AbsoluteUri, scope)); 
    }
}

private void CheckAuthorization()
{
    Dictionary<string, string> tokens = new Dictionary<string, string>();

    string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}amp;redirect_uri={1}amp;scope={2}amp;code={3}amp;client_secret={4}", app_id, Request.Url.AbsoluteUri, scope, Request["Code"], app_secret);

    HttpWebRequest request = System.Net.WebRequest.Create(url) as HttpWebRequest;

    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    {
        StreamReader reader = new StreamReader(response.GetResponseStream());

        string vals = reader.ReadToEnd();

        foreach (string token in vals.Split('amp;'))
        {
            tokens.Add(token.Substring(0, token.IndexOf("=")), token.Substring(token.IndexOf("=")   1, token.Length - token.IndexOf("=") - 1));
        }
    }

    string access_token = tokens["access_token"];

    dynamic messagePost = new ExpandoObject();
    messagePost.access_token = access_token;
    messagePost.picture = "picture";
    messagePost.link = "link";
    messagePost.name = "name";
    messagePost.caption = "caption";
    messagePost.description = "description ";

    FacebookClient app = new FacebookClient(access_token);
    app.Post("/PAGE ID/feed", messagePost);
}
 

Ответ №1:

https://developers.facebook.com/docs/pages/getting-started#get_token
https://developers.facebook.com/docs/pages/publishing

Как говорится в документации, у вас должен быть специальный токен страницы

  1. Ваше приложение должно иметь разрешения ‘manage_pages’ для вашего пользователя
  2. Получить токен страницы (не ваш токен пользователя!)

    GET https://graph.facebook.com/{page-id}?fields=access_token

  3. Также вы можете показать все страницы, которыми может управлять текущий пользователь.

    GET https://graph.facebook.com/v2.8/me/accounts?access_token=#{user_token}

вернет что-то вроде:

 {
  "data": [
    {
      "access_token": "EAACEdEose0cBACZBQs59Xjr....",
      "category": "Community",
      "name": "xxx",
      "id": "111",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "BASIC_ADMIN"
      ]
    },
    {
      "access_token": "EAACEdEose0cBAPRKAgY.....FOr",
      "category": "Magazine",
      "name": "xxx",
      "id": "111",
      "perms": [    
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
      ]
    },