Использование веб-сервиса Tridion UGC для добавления оценок

Я знаю, что могу добавлять комментарии через веб-службу UGC, используя что-то вроде следующего:

WebServiceClient ugcCall = new WebServiceClient();

string ugcData = "{ \"d\" :{\"Content\":\"" + comment + "\",\"Status\":2,\"ItemPublicationId\":\"" + PublicationId + "\",\"ItemId\":\"" + itemid + "\",\"ItemType\":\"16\",\"Id\":0,\"ModeratedDate\":\"\",\"LastModifiedDate\":\"\",\"CreationDate\":\"\",\"Score\":0,\"Moderator\":\"\",\"User\":{\"Id\":\"ACME%5Cjbloggs\",\"Name\":\"Joe Bloggs\"}}}";

string result = ugcCall.UploadString("/Comments", "POST", ugcData);

Мой вопрос: каков синтаксис для добавления оценок, симпатий и антипатий? Это где-нибудь задокументировано?

МТИА

Джон


person John    schedule 19.02.2013    source источник


Ответы (1)


Команда для загрузки оценок — «/Ratings» вместо «/Comments». JSON, конечно, тоже отличается. В приведенном ниже коде я не пишу JSON вручную, вместо этого я создаю простой объект Rating и использую JavascriptSerializer для преобразования его в JSON:

TcmUri tcmUri = new TcmUri(itemUri);
WSR_ContentDelivery.User user = new WSR_ContentDelivery.User { Id = GetUserId() };
WSR_ContentDelivery.Rating rating = new WSR_ContentDelivery.Rating
{
  CreationDate = DateTime.UtcNow,
  LastModifiedDate = DateTime.UtcNow,
  ItemPublicationId = tcmUri.PublicationId,
  ItemId = tcmUri.ItemId,
  ItemType = tcmUri.ItemTypeId,
  RatingValue = ratingValue.ToString(),
  User = user,
  Id = "0"
};

JavaScriptSerializer oSerializer = new JavaScriptSerializer();

WSClient.UploadString("/Ratings", "POST", "{d:" + oSerializer.Serialize(rating) + "}", GetUserId());
person Quirijn    schedule 19.02.2013
comment
Было бы неплохо добавить тот факт, что WebServiceClient не является общедоступным API в UGC и может измениться в будущем. - person Daniel Neagu; 19.02.2013
comment
Спасибо за пример Quirijn! - person John; 20.02.2013
comment
Спасибо Даниэль. Есть ли у вас больше информации об этом? Есть ли планы сделать это публичным? Вы знаете, вероятны ли какие-либо изменения в ближайшем будущем? - person John; 20.02.2013
comment
На данный момент нет планов сделать его общедоступным, но вы можете быть уверены, что для этой области не запланировано никаких изменений для следующих двух выпусков. - person Daniel Neagu; 20.02.2013
comment
Спасибо Даниэль. Очень признателен. - person John; 20.02.2013