使用 facebookClient.Get 和字段 full_picture 检索大图像
Retrieving large image using facebookClient.Get with field full_picture
我有以下代码:
dynamic feed = _facebookClient.Get(string.Format(appURL) + "?fields=message,picture,full_picture,link&limit=" + take);
字段 "full_picture" 应该提供一幅大图,至少从我在 Facebook 图表浏览器上可以看到的内容来看。
但是,结果是一张 130px 的图片,不是很大。 URL 确实与 "picture" 不同,但大小相同。
有什么建议吗?我一直在谷歌搜索并尝试了很多东西,但我无法弄清楚。如果有人有任何我可以阅读的资源,我很乐意自己找到它。
我尝试在图片后使用参数 ?size=large,但出现错误。
出于某种原因,现在可以使用了。我认为在我开发这个项目时 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;
}
}
我有以下代码:
dynamic feed = _facebookClient.Get(string.Format(appURL) + "?fields=message,picture,full_picture,link&limit=" + take);
字段 "full_picture" 应该提供一幅大图,至少从我在 Facebook 图表浏览器上可以看到的内容来看。
但是,结果是一张 130px 的图片,不是很大。 URL 确实与 "picture" 不同,但大小相同。
有什么建议吗?我一直在谷歌搜索并尝试了很多东西,但我无法弄清楚。如果有人有任何我可以阅读的资源,我很乐意自己找到它。
我尝试在图片后使用参数 ?size=large,但出现错误。
出于某种原因,现在可以使用了。我认为在我开发这个项目时 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;
}
}