Вопрос по facebook, api, facebook-c#-sdk, c#, facebook-graph-api – Получение данных FB-страницы из Facebook с помощью C #

2

В моем настольном приложении я хочу читать сообщения на стене, сообщения, количество лайков и т. Д. Для конкретногоСтраница на фэйсбук (не для пользователя Facebook)

Я прошел этот пост получить данные пользователя (в стеке потока). Я хочу добиться того же, но для страницы FB.

Я готов создать приложение для Facebook, чтобы добиться этого, и у пользователя есть разрешение на получение данных.

Пожалуйста, дайте совет по вышеуказанному.

Ваш Ответ

2   ответа
4

После исследования я разработал этот код

 class Posts
{
    public string PostId { get; set; }
    public string PostStory { get; set; }
    public string PostMessage { get; set; }
    public string PostPictureUri { get; set; }
    public Image PostImage { get; set; }
    public string UserId { get; set; }
    public string UserName { get; set; }

}

    private List<Posts> getFBPosts()
{
     //Facebook.FacebookClient myfacebook = new Facebook.FacebookClient();
     string AppId = "--------";
     string AppSecret = "----------";
    var client = new WebClient();

    string oauthUrl = string.Format("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={0}&client_secret={1}", AppId, AppSecret);

    string accessToken = client.DownloadString(oauthUrl).Split('=')[1];

     FacebookClient myfbclient = new FacebookClient(accessToken);
   string versio= myfbclient.Version;
   var parameters = new Dictionary<string, object>();
   parameters["fields"] = "id,message,picture";
   string myPage="fanPage"; // put your page name
    dynamic result = myfbclient.Get(myPage +"/posts", parameters);

    List<Posts> postsList = new List<Posts>();
    int mycount=result.data.Count;

    for (int i = 0; i < result.data.Count; i++)
    {
        Posts posts = new Posts();

        posts.PostId = result.data[i].id;
        posts.PostPictureUri = result.data[i].picture;
        posts.PostMessage= result.data[i].message;

         var request = WebRequest.Create(posts.PostPictureUri);
        using (var response = request.GetResponse())
        using (var stream = response.GetResponseStream())
        {
                         posts.PostImage  = Bitmap.FromStream(stream);
        }
          postsList.Add(posts);
    }
    return postsList;

}
Не могли бы вы объяснить это немного больше, чем просто вставить? byxor
Этот код извлекает сообщения фан-страницы Facebook {id, messeage и изображения каждого сообщения} и сохраняет их в списке. Он использует API графа Facebook v.2.7. Вы можете найти много других кодов, но многие из них уже устарели. Это работает до 13 сентября 2016 года. Вам просто нужно предоставить идентификатор приложения, App Secret и имя фан-страницы в Facebook, которые вы хотите получить. Syed Asad Ali Zaidi
16

чала получите токен доступа, используя приведенный ниже URL с параметрами вашего приложения Facebook:

https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={yourappid}&client_secret={yourappscret}

Затем вы можете вызвать API Graph Facebook с возвращенным токеном

Генеральный:https://graph.facebook.com/wikipedia?access_token={token}

Posts:https://graph.facebook.com/wikipedia/posts?access_token={token}

Пример кода будет;

class Program
{
    static void Main(string[] args)
    {
        var client = new WebClient();

        string oauthUrl = string.Format("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={0}&client_secret={1}", "appid", "appsecret");

        string accessToken = client.DownloadString(oauthUrl).Split('=')[1];

        string pageInfo = client.DownloadString(string.Format("https://graph.facebook.com/wikipedia?access_token={0} ", accessToken));
        string pagePosts = client.DownloadString(string.Format("https://graph.facebook.com/wikipedia/posts?access_token={0} ", accessToken));
    }
}
Вышесказанное дало мне быстрое представление о том, как получить токен доступа. Я хотел бы пойти еще дальше. Вышеуказанные шаги помогут мне получить информацию и сообщения на странице. Теперь из программного обеспечения я хочу, чтобы пользователь отвечал / комментировал определенный пост на стене в качестве администратора страницы. Это то, что я хочу, чтобы моя заявка достигла в конце. Ценю ваш ответ. HishHash

Похожие вопросы