我想对谷歌机器学习预测端点进行简单的 http rest 调用,但我找不到任何有关如何执行此操作的信息。据我从有限的文档中可以看出,您必须使用 Java 或 Python 库(或弄清楚在使用 REST 身份验证端点时如何正确加密所有内容)并获取凭据对象。然后说明结束,我不知道如何实际使用我的凭据对象。到目前为止,这是我的代码:
import urllib2
from google.oauth2 import service_account
# Constants
ENDPOINT_URL = 'ml.googleapis.com/v1/projects/{project}/models/{model}:predict?access_token='
SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
SERVICE_ACCOUNT_FILE = 'service.json'
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
access_token=credentials.token
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(ENDPOINT_URL + access_token)
request.get_method = lambda: 'POST'
result = opener.open(request).read()
print(str(result))
如果我打印 credentials.valid 它返回 False,所以我认为凭证对象 init 存在问题,但我不知道是什么,因为没有报告错误,凭证对象中的字段都是正确的,我做了所有事情指示。此外,我的 service.json 与我们的移动团队成功用于获取访问令牌的服务相同,因此我知道 json 文件具有正确的数据。
如何获取可用于调用预测端点的机器学习服务的访问令牌?