...
Private image (Unit Access Only)
Attach a JWT to the request as the Authorization header. To encode it, each unit will share a “secret” (see ENV['YPM_SECRET'] in the code below) with ITS. A ruby example for creating JWT
Send an API key to the request as a bearer token in the Authorization header. Each unit will share an API key (see ENV['YPM_SECRET'] in the code below) with ITS.
A curl example:
Code Block | ||
---|---|---|
| ||
require 'net/http' require 'jwt' # shared symmetric secret key to encrypt and decrypt the token hmac_secret = ENV['YPM_SECRET'] payload = { unit: "YPM", iat: Time.now.to_i } token = JWT.encode payload, hmac_secret, 'HS512' uri = URI("http://localhost:8182curl -O -H 'Authorization: Bearer TOKEN' 'http://images-dev.collections.yale.edu/iiif/2/ypm:85f1f218-30c1-48a4-8546-17d681f59c35.tif/full/20,/0/default.jpg") req = Net::HTTP::Get.new(uri) req['Authorization'] = "Bearer #{token}" res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http| http.request(req) end open('out.jpg', 'w') do |f| f.write(res.read_body) end |
Getting Stock TIFF Images
Code Block |
---|
https://media.collections.yale.edu/' |
with TOKEN
replaced with the actual value of the API key
An example in Ruby:
Code Block | ||
---|---|---|
| ||
require 'net/http'
uri = URI('http://images-dev.collections.yale.edu/iiif/2/ypm:85f1f218-30c1-48a4-8546-17d681f59c35.tif/full/20,/0/default.jpg')
api_key = ENV['YPM_SECRET']
req = Net::HTTP::Get.new(uri)
req['Authorization'] = "Bearer #{api_key}"
res = Net::HTTP.start(uri.hostname, uri.port,
use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
open('out.jpg', 'w') do |f|
f.write(res.read_body)
end |
Getting Stock TIFF Images
Code Block |
---|
https://media.collections.yale.edu/tiff/{unit}/{uuid}.tif |
Example:
https://media.collections.yale.edu/tiff/ycba/c5bad9c0-24f7-482c-9852-f6a554a4314a.tif
...
Code Block |
---|
{ "unit": "YCBA", "cmsType": "obj", "cmsId": "1726", "metadata": [ { "label": "logo", "value": "https://static.britishart.yale.edu/images/ycba_logo.jpg" }, { "label": "label", "value": "Robert Dighton, 1752–1814, British, The Produce of Industry, undated" }, { "label": "AttributionRights URI", "value": "Yale Center for British Art, Paul Mellon Collection, public domainhttps://creativecommons.org/publicdomain/zero/1.0/" }, { "label": "licenseRights Description", "value": "http://hdl.handle.net/10079/w6m90dq" }, { "label": "Description", "value": "Twelve Illustrations to Contemporary Life and Diversions, Sheet: 6 5/8 × 10 7/8 inches (16.8 × 27.6 cm)" }, { Metadata describing Yale Center for British Art collections is public domain under CC0. Copyright or other restrictions may apply to cultural works or images of those works in this record." }, { "label": "CreatorCopyright Statement", "value": "Robert Dighton, 1752–1814, BritishCopyright Information" }, { "label": "TitleImage Use Rights URI", "value": "The Produce of Industry" "http://rightsstatements.org/vocab/UND/1.0/" }, { "label": "PhysicalImage Use DescriptionRights", "value": "SheetCopyright Undetermined: 6The 5/8copyright ×and 10related 7/8rights inches (16.8 × 27.6 cm)" }, { "label": "Credit Line", "value": "Yale Center for British Art, Paul Mellon Collection" }, { "label": "Institution", "value": "Yale Center for British Artstatus of this Item has been reviewed by the organization that has made the Item available, but the organization was unable to make a conclusive determination as to the copyright status of the Item. Please refer to the organization that has made the Item available for more information. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use." }, { "label": "CollectionAttribution", "value": "Prints and DrawingsYale Center for British Art, Paul Mellon Collection, public domain" }, { "label": "Call NumberDescription", "value": "B1986.29.81Twelve Illustrations to Contemporary Life and Diversions, Sheet: 6 5/8 × 10 7/8 inches (16.8 × 27.6 cm)" }, { "label": "homepageCreator", "value": ["Robert Dighton, 1752–1814, British" }, { { "@idlabel": "https://collections.britishart.yale.edu/catalog/tms:1726", Title", "labelvalue": "catalogThe entryProduce atof theIndustry" Yale Center for British Art"}, { "formatlabel": "text/html"Physical Description", "value": "Sheet: }6 5/8 × 10 7/8 inches ](16.8 × 27.6 cm)" }, { "label": "seeAlsoCredit Line", "value": [ "Yale Center for British Art, Paul Mellon Collection" }, { "label": "Institution", "@idvalue": "https://collections.britishart.yale.edu/oaicatmuseum/OAIHandler?verb=GetRecord&identifier=oai:tms.ycba.yale.edu:1726&metadataPrefix=lido",Yale Center for British Art" }, { "formatlabel": "text/xmlCollection", "profilevalue": "http://www.lido-schema.org/schema/v1.0/lido-v1.0.xsd" Prints and Drawings" }, { { "label": "Call Number", "@idvalue": "http://collection.britishart.yale.edu/id/page/object/1726",B1986.29.81" }, { "format "label": "text/rdf+n3""homepage", "value": [ { } "@id": ]"https://collections.britishart.yale.edu/catalog/tms:1726", } ] } |
Attributes
...
metadata
...
"type": "Text",
"label": "catalog entry at the Yale Center for British Art",
"format": "text/html"
}
]
},
{
"label": "seeAlso",
"value": [
{
"@id": "https://collections.britishart.yale.edu/oaicatmuseum/OAIHandler?verb=GetRecord&identifier=oai:tms.ycba.yale.edu:1726&metadataPrefix=lido",
"type": "Dataset",
"format": "text/xml",
"profile": "http://www.lido-schema.org/schema/v1.0/lido-v1.0.xsd"
},
{
"@id": "http://collection.britishart.yale.edu/id/page/object/1726",
"format": "text/rdf+n3"
}
]
}
]
}
|
Attributes
unit, cmsType, cmsId | These three values together uniquely defines an object, corresponding respectively to unitcode, cmstype, and cmsid in the dbo.assets table of TMAN database. | |
metadata |
| |
label | becomes the “label” for the whole manifest | |
Rights URI | goes to the top level “rights” field | |
Rights Description | goes into the top level “requiredStatement” field | |
Copyright Statement | ||
Image Use Rights URI | ||
Image Use Rights | ||
logo | goes to the top level “logo” field | |
homepage, seeAlso | goes to the top level “homepage”, “seeAlso” field respectively. Since these can have great variability among units, this field should be entered verbatim as should appear in the manifest, according to the API. See |