googlecloudvisionapi-Python
在我的google cloud vision代码中,我似乎找不到添加API密钥的位置或需要定位到google凭据文件的位置:googlecloudvisionapi-Python,python,google-cloud-vision,Python,Google Cloud Vision,在我的google cloud vision代码中,我似乎找不到添加API密钥的位置或需要定位到google凭据文件的位置: import argparse import base64 import httplib2 import validators import requests from apiclient.discovery import build from oauth2client.client import GoogleCr
import argparse
import base64
import httplib2
import validators
import requests
from apiclient.discovery import build
from oauth2client.client import GoogleCredentials
def main(photo_file):
'''Run a label request on a single image'''
API_DISCOVERY_FILE = 'https://vision.googleapis.com/$discovery/rest?version=v1'
http = httplib2.Http()
credentials = GoogleCredentials.get_application_default().create_scoped(
['https://www.googleapis.com/auth/cloud-platform'])
credentials.authorize(http)
service = build('vision', 'v1', http, discoveryServiceUrl=API_DISCOVERY_FILE)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument(
'image_file', help='The image you\'d like to label.')
args = parser.parse_args()
main(args.image_file)
photo_file = "image_of_bottle.jpg"
main(photo_file)
有人知道我可以在哪里添加API密钥或定位到凭据文件吗
编辑:添加了Eray Balkanli建议的更改,我在通话中添加了我的图像文件。我不确定我是否做对了:
import argparse
import base64
import httplib2
import validators
import requests
from apiclient.discovery import build
from oauth2client.client import GoogleCredentials
def main(photo_file,developerkey):
'''Run a label request on a single image'''
API_DISCOVERY_FILE = 'https://vision.googleapis.com/$discovery/rest?version=v1'
http = httplib2.Http()
credentials = GoogleCredentials.get_application_default().create_scoped(
['https://www.googleapis.com/auth/cloud-platform'])
credentials.authorize(http)
service = build('vision', 'v1', http, discoveryServiceUrl=API_DISCOVERY_FILE,developerkey=INSERT API KEY)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument(
'image_file', help='The image you\'d like to label.')
args = parser.parse_args()
main(args.image_file)
photo_file = "image_file.jpg"
main(photo_file,developerkey)
我收到了以下错误:
usage: googleimagetest_v.4.py [-h] image_file
googleimagetest_v.4.py: error: too few arguments
有人知道我如何解决这个错误吗 Google Vision API文档为您提供了如何获取凭据的分步指南,该页面的最后一节介绍了: 应用程序向Google云进行身份验证的最简单方法 平台API服务是通过使用应用程序默认凭据提供的 (ADC)。使用ADC的服务首先在 GOOGLE\u应用程序\u凭据环境变量。除非你 特别希望ADC使用其他凭证(例如,用户 凭据),建议您将此环境变量设置为 到您的服务帐户密钥文件(当您 创建了服务帐户密钥,如设置服务中所述 帐户 $export GOOGLE\u应用程序\u凭据= 如果这很重要(如果你还没有注册),谷歌会让你访问他们的云平台(价值300美元,365天)。他们的低,imho,for Vision API应该让你为你的测试做很多事情
现在,请注意代码中的错误;尽管您对错误的描述并不清楚,但您的代码似乎接受了一个参数,但您正在尝试在没有参数的情况下运行python脚本。您可以按以下方式运行代码:
python googleimagetest_v.4.py "image_file.jpg"
您不需要以下两行代码(因为这是对main()
的重复调用)
您已经定义了
main()
函数接受两个参数,但当您在\uuuuu main\uuuuuuu
部分调用它时,您传递的是一个参数。您可能也想解决这个问题。我试图问您是如何运行类的。您应该运行这个类:$python googleimagetest\u v.4.py image\u文件……如何运行请插入问题打开。检查这个问题:您看过python示例吗?这个示例包含有关凭据设置的信息
photo_file = "image_file.jpg"
main(photo_file,developerkey)