1
讓我先說我可能忽略了簡單的事情。如何使用Python對Bluemix CF API進行身份驗證
我試圖用Python和CF API腳本對我的Bluemix帳戶進行一些操作。
首先得到https://api.ng.bluemix.net/info得到authorization_endpoint,https://login.ng.bluemix.net/UAALoginServerWAR/
response = requests.get('https://api.ng.bluemix.net/info')
然後張貼到authorization_endpoint得到OAuth令牌。
results = response.json()
auth_endpoint = results['authorization_endpoint'] + 'oauth/token?grant_type=password&client=cf'
http_payload = {
'username': id,
'password': pw,
'client_id': 'cf'
}
auth = ('cf', '')
response = requests.post(auth_endpoint, data=http_payload, auth=auth)
然後使用返回的OAuth令牌調用API CF,在這種情況下https://api.ng.bluemix.net/v2/organizations。
results = response.json()
url = 'https://api.ng.bluemix.net/v2/organizations'
authorization = results['token_type'] + ' ' + results['access_token']
http_headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': authorization
}
response = requests.get(url, headers=http_headers)
但是這導致了404,{ 「描述」: 「未知請求」, 「ERROR_CODE」: 「CF-NOTFOUND」, 「代碼」:10000}。這是正確的方法嗎?我忽略了什麼?
謝謝你,是的。這也適用於我。我在錯誤的地方尋找我的錯誤。我認爲這是我如何生成令牌。但是在獲得我使用curl命令的工作後,我意識到我的錯誤是一個更簡單和愚蠢的錯字。我使用的網址是https:\\ api.ng.bluemix.net \ V2 \。在某個時候,我設法將'v'資本化。 – user2085050