Facebook公共相册
我正在尝试开发一个桌面上带有C#的应用程序,其中一个用户正在通过电子邮件或姓名搜索一个人。然后,它将列出用户信息和公共相册或图片。然后,该程序的用户将查看照片,如果可以找到合适的搜索人将添加朋友 我的问题是我不能列出和显示公共相册。我尝试使用FQL和graph API,但两者都返回空数据。我为此编写的代码:Facebook公共相册,facebook,facebook-c#-sdk,photos,Facebook,Facebook C# Sdk,Photos,我正在尝试开发一个桌面上带有C#的应用程序,其中一个用户正在通过电子邮件或姓名搜索一个人。然后,它将列出用户信息和公共相册或图片。然后,该程序的用户将查看照片,如果可以找到合适的搜索人将添加朋友 我的问题是我不能列出和显示公共相册。我尝试使用FQL和graph API,但两者都返回空数据。我为此编写的代码: ArrayList pictureLink; public void userPhotos(string userID) { var fb2 = n
ArrayList pictureLink;
public void userPhotos(string userID)
{
var fb2 = new FacebookClient(_accessToken);
//result1 and result2 aren't using in code only for looking for with breakpoint
dynamic result1 = fb2.Get("fql", new { q = "SELECT aid,cover_pid FROM album WHERE owner=" + kisiID });
dynamic result2 = fb2.Get("fql", new { q = "SELECT pid,aid FROM photo WHERE owner=" + kisiID });
ArrayList imageSize; //for gettig highest pixell of picture
pictureLink = new ArrayList();
var fb = new FacebookClient(_accessToken);
//dynamic albums = fb.Get("me/albums"); // THİS code is rigth runnig
dynamic albums = fb.Get(userID + "/albums");
foreach (dynamic albumInfo in albums.data)
{
//Get the Pictures inside the album this gives JASON objects list that has photo attributes
// described here http://developers.facebook.com/docs/reference/api/photo/
dynamic albumsPhotos = fb.Get(albumInfo.id + "/photos");
foreach (dynamic rs in albumsPhotos.data)
{
imageSize= new ArrayList();
foreach (dynamic rsa in rs.images)
{
imageSize.Add(rsa.height);
}
int highestImage = Convert.ToInt32(imageSize[0]);
foreach (dynamic rsa in rs.images)
{
if (rsa.height == highestImage )
{
string link= rsa.source;
pictureLink.Add(link);
}
}
}
}
}
要阅读相册,您需要:
- 任何有效的访问令牌(如果它是公共的并且属于页面)
- 如果该用户属于某个用户,则该用户具有“照片”权限
- 如果它属于用户的朋友,则为friend_photos权限
- 任何有效的访问令牌(如果它是公共的并且属于用户)