読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

Azure MobileService REST APIでデータを挿入するには

MicrosoftAzure

REST API

Azure Mobile Servicesでは、Clientライブラリが使えない場合、Http通信で操作できるようにREST APIが用意されています。

データを挿入するには

https://<service_name>.azure-mobile.net/tables/<table_name>

に向かってjsonコンテンツをPOSTします。

要求ヘッダー

REST APIでは必要なヘッダーコンテンツを指定してPOSTすることでMobileServicesにアクセスすることができます。

REST APIのリファレンスのサイトに必要項目が書いてあります。

要求ヘッダー 必須項目
Accept × このヘッダーには、application/json を設定します。 Content-Length ○ 要求本文の長さ。 Content-Type × このヘッダーには、application/json を設定します。 X-ZUMO-APPLICATION 条件 モバイル サービスのアプリケーション キー。テーブル操作へのアクセスに必要な場合は、有効なアプリケーション キーを指定する必要があります。これは既定のテーブル操作のアクセス権です。 X-ZUMO-AUTH 条件 認証されたユーザーのためのサービス生成された認証トークン。テーブル操作へのアクセスが必要な場合は、認証されたユーザーのためのトークンを指定する必要があります。 X-ZUMO-MASTER 条件 サービス マスター キー。テーブル操作へのアクセスに管理者アクセスが必要な場合は、このキーのみを含める必要があります。

X-ZUMO-APPLICATIONですが、モバイルサービスへのデータ挿入をアプリケーションキーを持っている場合のみにしている場合していする必要があります。

すべてのユーザーがデータ挿入可能にしているならば必要ありません。

f:id:garicchi:20150120072618p:plain

.Netのサンプル

System.Net.HttpClientを利用した場合以下の様なコードでデータを挿入することができます。

テーブル名は「testtable」、モバイルサービス名は「testgarimobile」でjson形式でコンテンツを送信します。

//JsonContent
StringContent content = new StringContent("{\"text\":\"testText\"}",Encoding.UTF8);
content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
HttpClient client = new HttpClient();
//Application Key
client.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "IxfSBAEmseOGvEFDakuVvvCYotwJrr54");
client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json"));

HttpResponseMessage message = await client.PostAsync("https://testgarimobile.azure-mobile.net/tables/testtable", content);

f:id:garicchi:20150120072642p:plain

レコードの挿入操作

REST APIでデータを挿入するには | garicchi.com