Thursday, October 15, 2009

Facebook API call usage

Get photos of a user

IList photos = API.photos.get(API.users.getLoggedInUser().ToString(), "", new List());

FQL equivalent:
public static T Deserialize(string json)
{
T obj = Activator.CreateInstance();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms);
ms.Close();
return obj;
}
[DataContract]
public class Photo{
[DataMember]
public string src_big { get; set; }
};

protected void btnFromAlbum_Click(object sender, ImageClickEventArgs e)
{

panelImage.Visible = true;
fql qPhotos = new fql(API);
qPhotos.UseJson = true;
string result = qPhotos.query(string.Format("select src_big from photo where pid in (SELECT pid FROM photo_tag WHERE subject={0})", API.users.getLoggedInUser()));

List photos = Deserialize>(result);
litTest.Text = photos.Count.ToString();
lvPhotos.DataSource = photos;
lvPhotos.DataBind();
}

No comments: