Foursquare 场地“照片”请求返回 null

Posted

技术标签:

【中文标题】Foursquare 场地“照片”请求返回 null【英文标题】:Foursquare venues "photos" request return null 【发布时间】:2014-11-14 04:26:11 【问题描述】:

我正在使用基于康斯坦丁代码 (https://github.com/Constantine-Fry/Foursquare-API-v2) 的 FourSquare API。在我的场地对象中,我可以调用名称和 ID,但是当我调用“照片”时,它返回 null。我也尝试在它之后包含前缀和/或后缀,但它没有返回。

在我的场地对象中,我有:

- (NSArray *)convertToObjects:(NSArray *)venues 
    NSMutableArray *objects = [NSMutableArray arrayWithCapacity:venues.count];
    for (NSDictionary *v  in venues) 
        FSVenue *ann = [[FSVenue alloc]init];
        ann.name = v[@"name"];
        ann.venueId = v[@"id"];
        ann.photo = v[@"photos"];
        [objects addObject:ann];
    
    return objects;

当我打印场地数组时,我得到:

           gender = none;
            homeCity = "Knoxville, TN";
            id = 12864010;
            photo =                     
                prefix = "https://irs0.4sqi.net/img/user/";
                suffix = "/DMGZGZVXT3NVLKNP.jpg";
            ;

我看到的是照片,但不是照片,我都试过了。 如何检索前缀和后缀字符串? 我的意图是根据此响应在两者之间添加大小: Foursquare API for venue user image error

【问题讨论】:

图像的 JSON 数据中的键是“photo”,而您使用的是“photos”,因此它将返回 null。并在最终图像 url 中给出尺寸,如“Foursquare API 用于场所用户图像错误”答案中所述。 我试过"photo"和'ann.photo = v[@"photo"][@"prefix"];',但是当我nslog它仍然是空的。 【参考方案1】:

构建各种尺寸的类别图标所需的碎片。将前缀与大小(32、44、64 和 88 可用)和后缀结合起来,例如https://foursquare.com/img/categories/food/default_64.png。

要获得具有灰色背景的图像,请在大小之前使用 bg_,例如https://foursquare.com/img/categories_v2/food/icecream_bg_32.png.


  icon = 
           prefix = "https://ss3.4sqi.net/img/categories_v2/travel/airport_gate_";
           suffix = ".png";
          ;

上面的图片url可以形成为

https://ss3.4sqi.net/img/categories_v2/travel/airport_gate_64.png

来源:https://developer.foursquare.com/docs/responses/category

【讨论】:

以上是关于Foursquare 场地“照片”请求返回 null的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码从 Foursquare API 中提取特定场地类别

android - 来自 Foursquare 的 JSON 请求后的空正文

Foursquare 获取场地详情

场地外搜索 Foursquare API

UIView 后面的地图问题,类似于 FourSquare 场地细节

Foursquare API:有没有办法用名称和城市搜索场地?