2

我正在 Visual Studio 2013 中试验用于 MVC 5 的新 Facebook 项目模板。我在MyAppUserFriend类中添加了一个 Location 属性来获取每个朋友的位置。我需要为有位置的朋友过滤位置结果。换句话说,我不想返回位置字段为空的朋友。

下面是获取MyAppUserMyAppUserFriend结果的方法。

    [FacebookAuthorize("email", "user_photos", "friends_location")]
    public async Task<ActionResult> Index(FacebookContext context)
    {

        if (ModelState.IsValid)
        {
            var user = await context.Client.GetCurrentUserAsync<MyAppUser>();

            return View(user);
        }

        return View("Error");
    }

这是 MyAppUserFriend 的类。据我了解,我可以使用 FacebookFieldModifier 属性过滤结果,但我找不到可用的字段修饰符,除了search?type=location&center=37.76,-122.427&distance=1000

public class MyAppUserFriend
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Link { get; set; }    
    public FacebookLocation Location { get; set; }

    public double Distance { get; set; }

    [FacebookFieldModifier("height(100).width(100)")] // This sets the picture height and width to 100px.
    public FacebookConnection<FacebookPicture> Picture { get; set; }
}

更新

我尝试了 FQL 语句,但无法过滤位置结果,因为“current_location”字段不可索引,因此不能在WHERE子句中使用。

我还研究了搜索查询,但这些只是有限的公共对象,而且搜索查询似乎不能与位置参数和/或 FQL 语句结合使用。

关于字段修饰符,它们在位置对象上可用,仅限于“限制”和“uid”,因此我无法使用字段修饰符以我需要的方式限制结果。我能够在图形浏览器中找到字段修饰符,以防将来有人遇到这个问题。

在此处输入图像描述

4

0 回答 0