使用facebookClient.Get检索大图像与字段full_picture

时间:2015-02-19 09:13:36

标签: facebook-c#-sdk

我有以下代码:

dynamic feed = _facebookClient.Get(string.Format(appURL) + "?fields=message,picture,full_picture,link&limit=" + take);

字段“full_picture”应该提供一张大图,至少可以在facebook图表浏览器上阅读。

然而,结果是130px的图片,这不是很大。该URL与“图片”不同,但大小相同。

有什么建议吗?我一直在努力尝试很多东西,但我无法弄清楚这一点。如果有人有任何我可以阅读的资源,我很乐意自己找到它。

我尝试使用参数?size = large after picture,但这给了我一个错误。

1 个答案:

答案 0 :(得分:0)

出于某种原因,这现在正在发挥作用。我认为在开发这个项目时,API必须是错误的。

我取消注释了我以前的代码,但它确实有效。

如果有人有兴趣,我的代码现在看起来像这样:

public class FacebookImpl
    {
        private static FacebookClient _facebookClient;

        public FacebookImpl()
        {
            const string appId = "my-app-id";
            const string appSecret = "my-secret";

            _facebookClient = new FacebookClient
            {
                AppId = appId,
                AppSecret = appSecret,
            };

            dynamic answer = _facebookClient.Get(string.Format("oauth/access_token?grant_type=client_credentials&client_id={0}&client_secret={1}", appId, appSecret));

            try
            {
                _facebookClient.AccessToken = answer.access_token;
            }
            catch (RuntimeBinderException)
            {
                // log
            }
        }

        public List<FacebookItem> GetWallFeed(int take, int skip)
        {

            const string appURL = "/MYFACEBOOKPAGE/posts";
            dynamic feed = _facebookClient.Get(string.Format(appURL) + "?fields=message,link,full_picture&limit=" + take, new { limit = take, offset = skip });

            var posts = new List<FacebookItem>();
            foreach (var item in feed.data)
        {
            posts.Add(new FacebookItem()
             {
                 Date = "Facebook " + DateTime.Parse(item.created_time).ToString("dd.MM"),
                 Title = item.message,
                 Url = item.link,
                 PhotoSrc = item.full_picture
             });
            return posts;
        }

            return posts;
        }
    }