2016-09-26 7 views
0

私はSoftlayerで利用可能なイメージのリストをカールしようとしています。現在のカールコマンドは次のとおりです:objectFilterを使用してSoftlayerのREST APIの出力を制限しますか?

curl 'https://USERNAME:[email protected]/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectMask=filteredMask\[id,name\]&objectFilter=\{"id":\{"operation":111111\}\}'` 

しかし、それは動作しません。 objectMaskが動作しますが、objectFilterはすべてを通過させるように見えますが、まだすべてのイメージ(IDが111111であるだけでなく)が表示されます。最後にURLを間違って構成していますか?

答えて

1

これは、あなたが送信する必要がある構造である:

curl "https://USERNAME:[email protected]/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter={"blockDeviceTemplateGroups":{"id":{"operation":"111111"}}}&objectMask=id;name" 

は残念ながら、それはカールを使用して特殊文字をエスケープする必要がありますので、あなたは(オブジェクトフィルタは、エンコードされた)、これを送信することができます。

curl "https://USERNAME:[email protected]/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter=%7B%22blockDeviceTemplateGroups%22%3A%7B%22id%22%3A%7B%22operation%22%3A%22111111%22%7D%7D%7D&objectMask=id;name" 

は交換してください:USERNAMEAPI_KEY

例:

% 22%の3A%22 % 22%の7Dの%の7Dの%7D

参考

+0

カールに-gフラグを渡し、一重引用符でURLを囲む限り、エスケープは不要であることがわかりました。しかし、これは私のためにうまくいった!本当にありがとう! – ldanielw1

関連する問題