APIの統一
二つのAPIを統合したい
visionAPIの出力結果を二つ目のソースコードのqueryのところにインプットしたい
例)
visionAPIとcaloriesNinjaを使用して食品画像認識でカロリー成分表示をできるようにしたいです
発生している問題・エラー
二つのプログラムの統一方法がわからない
//ひとつ目のプログラム
from base64 import b64encode
from sys import argv
import json
import requests
API_URL = 'https://vision.googleapis.com/v1/images:annotate'
if name == 'main':
api_key = argv[1]
filename = argv[2]
img_request = []
with open(filename, 'rb') as f:
ctxt = b64encode(f.read()).decode()
img_request.append({
'image': {'content': ctxt},
'features': [{
'type': 'LABEL_DETECTION',
'maxResults': 10
}]
})
request_data = json.dumps({"requests": img_request }).encode()
response = requests.post(API_URL,
data=request_data,
params={'key': api_key},
headers={'Content-Type': 'application/json'})
if response.status_code != 200 or response.json().get('error'):
print(response.text)
else:
for resp in enumerate(response.json()['responses']):
print (json.dumps(resp, indent=2))
//二つ目のプログラム
import requests
api_url = 'https://api.calorieninjas.com/v1/nutrition?query='
query = 'oyster'
response = requests.get(api_url + query, headers={'X-Api-Key': 'T6ELSQrGhspgDN7BstS7Tg==A84xkAxXqfG1k0ql'})
if response.status_code == requests.codes.ok:
print(response.text)
else:
print("Error:", response.status_code, response.text)