2013-05-19 61 views
11

所以,我想弄清楚如何獲取Freebase數據庫中的圖像的URL。我想要一張舊金山的圖像。這是我得到的舊金山話題:Google Freebase API如何獲取圖像的URL?

https://www.googleapis.com/freebase/v1sandbox/topic/%2Fen%2Fsan_francisco?key=MY_API_KEY

響應包含圖像,例如:

{ 
    text: "San Francisco Skyline", 
    lang: "en", 
    id: "/m/04j74yh", 
    creator: "/user/carmenmfenn1", 
    timestamp: "2008-09-01T13:37:22.000Z" 
} 

所以我然後再次調用GET API來獲取圖像:

https://www.googleapis.com/freebase/v1sandbox/topic/%2Fm%2F04j74yh?key=MY_API_KEY

這會返回大量關於圖像的信息,例如媒體類型,大小等。但是我沒有看到任何URL回覆。有一些ID(blob id,mid)。我不知道如何繼續獲取圖片的網址。有任何想法嗎?

這是一個完整的迴應:

{ 
    id: "/m/04j74yh", 
    property: { 
     /common/image/appears_in_topic_gallery: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "San Francisco", 
        lang: "en", 
        id: "/m/0d6lp", 
        creator: "/user/carmenmfenn1", 
        timestamp: "2008-09-01T13:37:22.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /common/image/size: { 
      valuetype: "compound", 
      values: [ 
       { 
        text: "640.0 - 330.0 - Freebase Data Team - Rectangle Size", 
        lang: "en", 
        id: "/m/02bpzld", 
        creator: "/user/carmenmfenn1", 
        timestamp: "2008-09-01T13:37:22.000Z", 
        property: { 
         /measurement_unit/rect_size/x: { 
          valuetype: "float", 
          values: [ 
           { 
            text: "640.0", 
            lang: "en", 
            value: 640, 
            creator: "/user/mwcl_images", 
            timestamp: "2007-04-15T23:03:01.001Z" 
           } 
          ], 
          count: 1 
         }, 
         /measurement_unit/rect_size/y: { 
          valuetype: "float", 
          values: [ 
           { 
            text: "330.0", 
            lang: "en", 
            value: 330, 
            creator: "/user/mwcl_images", 
            timestamp: "2007-04-15T23:03:01.001Z" 
           } 
          ], 
          count: 1 
         }, 
         /type/object/attribution: { 
          valuetype: "object", 
          values: [ 
           { 
            text: "Freebase Data Team", 
            lang: "en", 
            id: "/m/0220tm0", 
            creator: "/user/mwcl_images", 
            timestamp: "2007-04-15T23:03:01.001Z" 
           } 
          ], 
          count: 1 
         }, 
         /type/object/type: { 
          valuetype: "object", 
          values: [ 
           { 
            text: "Rectangle Size", 
            lang: "en", 
            id: "/measurement_unit/rect_size", 
            creator: "/user/mwcl_images", 
            timestamp: "2007-04-15T23:03:01.001Z" 
           } 
          ], 
          count: 1 
         } 
        } 
       } 
      ], 
      count: 1 
     }, 
     /common/licensed_object/license: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "CC-BY-2.5", 
        lang: "en", 
        id: "/m/01xrw11", 
        creator: "/user/carmenmfenn1", 
        timestamp: "2008-09-01T13:37:22.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /common/topic/notable_for: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "Content", 
        lang: "en", 
        id: "/type/content" 
       } 
      ], 
      count: 1 
     }, 
     /common/topic/notable_types: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "Content", 
        lang: "en", 
        id: "/type/content", 
        timestamp: "2013-05-17T00:04:43.942Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/content/blob_id: { 
      valuetype: "string", 
      values: [ 
       { 
        text: "8debf723b25edb43b413bcb2890c4f4fe6ec5e5b2c7ce9c7e1f2aee273b0d0fe", 
        lang: "", 
        value: "8debf723b25edb43b413bcb2890c4f4fe6ec5e5b2c7ce9c7e1f2aee273b0d0fe", 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/content/length: { 
      valuetype: "int", 
      values: [ 
       { 
        text: "47162", 
        lang: "en", 
        value: 47162, 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/content/media_type: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "image/jpeg", 
        lang: "en", 
        id: "/m/08x8", 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/attribution: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "Freebase Staff", 
        lang: "en", 
        id: "/m/05g", 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/mid: { 
      valuetype: "key", 
      values: [ 
       { 
        text: "/m/04j74yh", 
        lang: "", 
        value: "/m/04j74yh" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/name: { 
      valuetype: "string", 
      values: [ 
       { 
        text: "San Francisco Skyline", 
        lang: "en", 
        value: "San Francisco Skyline", 
        creator: "/user/carmenmfenn1", 
        timestamp: "2008-09-01T13:42:34.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/type: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "Image", 
        lang: "en", 
        id: "/common/image", 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       }, 
       { 
        text: "Content", 
        lang: "en", 
        id: "/type/content", 
        creator: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 2 
     }, 
     /type/object/guid: { 
      valuetype: "string", 
      values: [ 
       { 
        text: "#9202a8c04000641f80000000090393af", 
        lang: "", 
        value: "#9202a8c04000641f80000000090393af" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/creator: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "content_administrator", 
        lang: "", 
        id: "/user/content_administrator", 
        timestamp: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/timestamp: { 
      valuetype: "datetime", 
      values: [ 
       { 
        text: "2008-09-01T13:37:20.000Z", 
        lang: "en", 
        value: "2008-09-01T13:37:20.000Z" 
       } 
      ], 
      count: 1 
     }, 
     /type/object/permission: { 
      valuetype: "object", 
      values: [ 
       { 
        text: "/boot/all_permission", 
        lang: "", 
        id: "/boot/all_permission" 
       } 
      ], 
      count: 1 
     } 
    } 
} 

回答

19

這是一種埋藏在文檔中,因爲它不具有它自己的部分,而是從主題API文檔中引用,但你可以找到必要的信息here

的URL的形式爲:

https://usercontent.googleapis.com/freebase/v1/image/<image ID> 
+0

非常感謝你。 –

+9

默認情況下,這將返回一個非常小的圖像。您可以添加maxwidth和maxheight參數以使其更大: ?maxwidth = 225&maxheight = 225&mode = fillcropmid – Joshua

+0

我可以一次獲取名稱,圖像和文本,而不是調用api三次,它需要一段時間才能獲取結果爲我打電話給api三次 –

相關問題