【发布时间】:2011-05-20 09:08:32
【问题描述】:
if (!IsPostBack)
{
var auth = new CanvasAuthorizer(fb);
if (!auth.IsAuthorized())
{
var url = auth.GetLoginUrl(new HttpRequestWrapper(Request));
var content = CanvasUrlBuilder.GetCanvasRedirectHtml(url);
Response.ContentType = "text/html";
Response.Write(content);
Response.End();
return;
}
dynamic me = fb.Api("/me");
if (fb != null)
{
FacebookID = fb.Session.UserId;
AccessToken = fb.Session.AccessToken;
}
FacebookApp fbapp = new FacebookApp(AccessToken);
dynamic videos = fbapp.Fql("SELECT vid, owner FROM video WHERE owner IN (SELECT uid2 FROM friend WHERE uid1 = me())");
foreach (dynamic v in videos)
{
// Can't return videos here
}
}
但是当我执行这个 fql 时没有视频。
但是有了上面这段代码,我用了另一个fql,比如:
dynamic fanpages = fbapp.Fql("SELECT page_id, name, pic_big, type, page_url FROM page WHERE page_id IN (SELECT page_id FROM page_fan WHERE uid=me() or uid in (SELECT uid2 FROM friend WHERE uid1=me()))");
foreach (dynamic fan in fanpages)
{
// Can return fan page in here
}
我认为是 AccessToken 的问题。这个AccessToken在fql视频表的时候是没有权限的,但是在fql粉丝页的时候可以有权限。
请大家帮帮我。
非常感谢。
【问题讨论】:
标签: facebook forms-authentication facebook-c#-sdk facebook-fql