ConoHa APIでjsonデータをリクエスト
サーバーを提供しているconohaでAPIを利用しようと試みておりますが躓いております。
やりたいことはAPIを利用したサーバーの追加です。調べたところ下の手順で作るものだと思われます。
- トークン発行 https://www.conoha.jp/docs/identity-post_tokens.html
- VM追加 https://www.conoha.jp/docs/compute-create_vm.html
はじめにトークンの発行ですがPOSTでJSONの送り方を調べこのサイトを参考にして下のようなコードを書きました。
headers={'Content-type':'application/json'}
の意味は分かりませんがとりあえず実行したところ、以下のエラーが出ました。
dict object has no attribute encode
encode('utf-8')
を消してみると以下のエラーが出ます。
Can't concat bytes to str
初心者なので何か基本的なことが間違えているかもしれないです。
また、トークン発行した後どのような作業をして2のVM追加に至るのか少しでいいので道筋を教えていただけると幸いです。
import requests
import urllib.parse
import urllib.request
url="https://identity.tyo1.conoha.io/v2.0"
method="POST"
headers={
'Content-type':'application/json'
}
json_str={"auth": {
"passwordcredentials": {
"username": "aaa",
"password": "bbb"
},
"tenantid": "ccc"
}
}
req = urllib.request.Request(url=url,headers=headers, data=json_str.encode('utf-8'))
f = urllib.request.urlopen(req)
print(f.read().decode('utf-8'))