2013-05-19 16 views
11

Quindi, sto cercando di capire come ottenere URL dell'immagine nel database Freebase. Voglio un'immagine di San Francisco. Questo è come ottenere il tema di San Francisco:Google Freebase API Come ottenere URL dell'immagine?

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

La risposta contiene le immagini, ad esempio:

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

Così ho poi chiamare di nuovo l'API GET per ottenere l'immagine:

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

Questo restituisce molte informazioni sull'immagine come tipo di supporto, dimensioni ecc. Ma non vedo alcun URL il ri. Ci sono alcuni ID (id blob, metà). Non sono sicuro di come procedere per ottenere un URL per l'immagine. Qualche idea?

Questa è la risposta completa:

{ 
    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 
     } 
    } 
} 

risposta

19

È un po 'sepolto nella documentazione dal momento che non ha una sezione a sé stante, ma è invece fatto riferimento dalla documentazione Topic API, ma si possono trovare le informazioni necessarie here

URL sono della forma:

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

Grazie mille. –

+9

Per impostazione predefinita, restituisce un'immagine molto piccola. Puoi aggiungere i parametri maxwidth e maxheight per ingrandirli: ? Maxwidth = 225 & maxheight = 225 & mode = fillcropmid – Joshua

+0

Posso ottenere il nome, l'immagine e il testo contemporaneamente, invece di chiamare l'api tre volte, ci vuole un po 'per recuperare il risultato come chiamo l'API tre volte –