#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
Как говорится в документации, у вас должен быть специальный токен страницы
- Ваше приложение должно иметь разрешения ‘manage_pages’ для вашего пользователя
- Получить токен страницы (не ваш токен пользователя!)
GET https://graph.facebook.com/{page-id}?fields=access_token
- Также вы можете показать все страницы, которыми может управлять текущий пользователь.
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",
]
},