カスタム オブジェクトの更新に問題があります。奇妙なことに、1 つのオブジェクト (オブジェクト #1 と呼びましょう) は正常に更新されますが、もう 1 つのオブジェクト (オブジェクト #2) は「application_settings オブジェクトを更新する権限がありません」を返します。
オブジェクト #2 はアカウント所有者ユーザー (「ユーザー ID」フィールドの値について話している) に属し、オブジェクト #1 は別のユーザーに属します。アカウント所有者ユーザーとして認証しても問題が発生することに注意してください。
QBASessionCreationRequest *extendedAuthRequest = [[QBASessionCreationRequest alloc] init];
extendedAuthRequest.userLogin = @"login";
extendedAuthRequest.userPassword = @"password";
[QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self];
オブジェクト #2 を更新しようとすると、次のようになります。
PUT http://api.quickblox.com/data/application_settings/51d07504535c12a1ef000dd6.xml?push%5Bprofile_images_ids_180px%5D=987654321
headers:{
"QB-SDK" = "iOS 1.5.2";
"Qb-Token" = xxxxxxxxxxxxxxxxx;
"QuickBlox-REST-API-Version" = "0.1.1";
}
parameters:
raw body:
レストレスポンス:
<QBASIHTTPRequest: 0xabca400>
headers:{
"Access-Control-Allow-Origin" = "*";
"Access-Control-Request-Method" = "*";
"Cache-Control" = "no-cache";
Connection = Close;
"Content-Length" = 191;
"Content-Type" = "application/xml; charset=utf-8";
Date = "Tue, 09 Jul 2013 17:03:07 GMT";
"QuickBlox-REST-API-Version" = "0.1.1";
Server = "nginx/1.0.15";
Status = "403 Forbidden";
"X-Rack-Cache" = "invalidate, pass";
"X-Request-Id" = 732c8f2002b8bd03241d4c88288557fd;
"X-Runtime" = "0.043522";
"X-UA-Compatible" = "IE=Edge,chrome=1";
}
body:<?xml version="1.0" encoding="UTF-8"?>
<errors type="array">
<error>
<code nil="true"/>
<message>Not authorized to update application_settings object</message>
</error>
</errors>