【问题标题】:How do I access Windows Azure account token using Python 3.3如何使用 Python 3.3 访问 Windows Azure 帐户令牌
【发布时间】:2014-05-13 17:00:04
【问题描述】:

我是编程新手,我希望使用 Python 3.3 访问 Windows 翻译令牌。 MS 有针​​对 C# 和 PHP 的指南 here,但我似乎无法在 Python 中复制它们的成功。 代码在 HTTPConnection 阶段失败。

编辑 [5 月 14 日]:我发现了一些似乎有帮助的改进

我的简单连接代码是:

from suds.client import Client
import http.client

# Initialize variables:
wsdlUrl = "http://api.microsofttranslator.com/V2/Soap.svc"
clientID = "ID";
clientSecret = "SECRET"
authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/"
scopeUrl = "http://api.microsofttranslator.com"
grantType = "client_credentials"

def getTokens(grantType, scopeUrl, clientID, clientSecret, authUrl):
    headers = {"grant_type": grantType, "client_id": clientID, "client_secret":         clientSecret, "scope": scopeUrl}
    conn = http.client.HTTPSConnection('datamarket.accesscontrol.windows.net')
    conn.request("POST", "/v2/OAuth2-13", "", headers)
    response = conn.getresponse()
    print(response.status, response.reason)


getTokens(grantType, scopeUrl, clientID, clientSecret, authUrl)

现在收到的错误是: 400 错误请求

我已经研究过这个错误,并且在哪里提供了答案,它往往很容易修复。我已经用这些修复检查了代码,但无济于事。

我想对于想要使用 Azure 并需要访问令牌的任何人来说,这是一个相当普遍的问题?

如果您对如何诊断此错误或获取访问密钥的更好方法有任何建议,请分享。

【问题讨论】:

    标签: python http azure httpconnection


    【解决方案1】:

    我找到了解决方案。 MS在这里有一个有用的调试工具:http://oauthdevconsole.cloudapp.net/PartialOAuth

    最终解决方案是需要将标头转换为字符串,并且必须使用上述工具修改密钥中异常字符的解决方法。

    最终代码在这里:

    def getTokens(grantType, scopeUrl, clientID, clientSecret, authUrl):
        conn = http.client.HTTPSConnection('datamarket.accesscontrol.windows.net')
        conn.request("POST", "/v2/OAuth2-13/", "client_id="+clientID+"&client_secret="+clientSecret+"&grant_type=client_credentials&scope="+scopeUrl)
        response = conn.getresponse()
        print(response.status, response.reason)
    

    最好的问候,

    • 罗伯

    【讨论】:

      猜你喜欢
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 2017-10-07
      • 2023-03-03
      • 2023-02-02
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多