GAEからVision APIを使ってみました
image_data = user.image.read()
image_content = base64.encodestring(image_data)
headers = {'Content-Type': 'application/json'}
data = {
"requests": [{
"image": {
"content": image_content
},
"features": [{
"type": "SAFE_SEARCH_DETECTION",
"maxResults": 10
}]
}]
}
results = urlfetch.fetch(
url='https://vision.googleapis.com/v1/images:annotate?key='+GCP_API_KEY,
headers=headers,
payload=json.dumps(data),
method=urlfetch.POST,
deadline=60,
validate_certificate=False # SSLのエラーが出るので必要
)
json_results = json.loads(results.content)
(追記)
サービスをリリースするためには、APIキーの制限をしたほうが良いよーとのことなので、設定してみると、なにやらエラーが
Requests from referer <empty> are blocked.
どうも、上記のコードだとReferer
が入らないみたいですね
なので、headers
にReferer
を入れてあげちゃうと良さげ
headers = {
'Content-Type': 'application/json',
'Referer': 'your domain here'
}