我正在调用在IBM数据科学体验中部署模型后生成的API。 但是当我使用POST调用API时,它会出现错误“身份验证失败”。 现在问题是,我使用了IBM Watson机器学习服务中可用的凭证,因为模型没有提供任何凭证。
有人可以帮助我在这种情况下如何处理?
答案 0 :(得分:0)
您需要使用Watson ML服务凭据生成令牌,并在POST到您的得分网址时使用该令牌。您可以生成这样的令牌(注意:用户名,密码和service_path都在您的Watson ML服务凭证中):
import urllib3, requests, json
headers = urllib3.util.make_headers(basic_auth='{}:{}'.format(username, password))
url = '{}/v3/identity/token'.format(service_path)
response = requests.get(url, headers=headers)
mltoken = json.loads(response.text).get('token')
当您点击评分网址时,您需要将此标记用作授权标题:
header = {'Authorization': 'Bearer ' + mltoken}
参考/样本笔记本@ https://console.bluemix.net/docs/services/PredictiveModeling/index.html#WMLgettingstarted
下的文档中有一个示例