如何将照片的“公共链接”上传到Facebook相册

时间:2011-11-18 16:47:46

标签: c# facebook post sdk photo

当我将照片上传到Facebook相册时,我会获得一个ID(例如239927946070815)。如何在Facebook上获取此照片的链接,例如http://www.facebook.com/#!/photo.php?fbid=239927946070815&set=a.239886702741606.63927.100001608349025&type=1&theater

我目前正在通过字符串操作创建链接,我已经看到使用Regex的解决方案,但它仍然是一种“脆弱”的方法。是否有与此相关的官方规范?

2 个答案:

答案 0 :(得分:0)

假设你使用facebook C#SDK,试试这个:

public String GetPhotoLink(string photoID)
{
    var fb = new FacebookWebClient();
    dynamic albums = fb.Get("me/albums");
    foreach (dynamic albumInfo in albums.data)
    {
        dynamic photos = fb.Get(albumInfo.id + "/photos");
        foreach (var photo in photos.data)
        {
            if (photo.id == photoID)
            {
                return photo.link;
            }
        }
    }
    return String.Empty;
}

答案 1 :(得分:0)

与上述解决方案相比,这也有效,并且具有简单快速的优点。

显然很多时间已经过去了,因为这被问到并回答了,但由于这是谷歌弹出的第一个答案,我认为它需要更新。

        _api = new FacebookClient(_authToken);
        var getImage = _api.Get("/" + photoId);