【问题标题】:call API in IBM Data Science Experience from Postman从 Postman 调用 IBM Data Science Experience 中的 API
【发布时间】:2017-07-25 23:51:51
【问题描述】:

我正在调用在 IBM Data Science Experience 中部署模型后生成的 API。 但是,当我使用 POST 调用 API 时,它会给出错误“身份验证失败”。 现在的问题是,我使用了 IBM Watson 机器学习服务中可用的凭证,因为该模型本身不提供任何凭证。

有人可以帮我在这种情况下如何处理吗?

【问题讨论】:

    标签: data-science-experience


    【解决方案1】:

    您需要使用您的 Watson ML 服务凭证生成一个令牌,并在发布到您的分数 URL 时使用该令牌。您可以像这样生成令牌(注意:用户名、密码和 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')
    

    当您点击评分 URL 时,您需要使用此令牌作为授权标头:

    header = {'Authorization': 'Bearer ' + mltoken} 
    

    在参考/示例笔记本@https://console.bluemix.net/docs/services/PredictiveModeling/index.html#WMLgettingstartedhttps://console.bluemix.net/docs/services/PredictiveModeling/index.html#WMLgettingstarted 下的文档中有一个示例

    【讨论】:

    • 您可以使用该方法生成令牌。但是,当您使用带有适当标头的令牌卷曲请求时,您将得到响应。但是,如果您要使用像邮递员这样的 REST 客户端,情况并非如此。你会得到一个不允许的 405 方法。
    猜你喜欢
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多