首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UGC帖子内容

UGC帖子内容
EN

Stack Overflow用户
提问于 2013-01-29 18:43:07
回答 2查看 222关注 0票数 7

我只是在尝试运行一个小原型,它使用UGC web服务发布UGC评论。

代码示例如下。我从web服务得到了一个403响应,这表明我没有被授权使用该服务,所以我假设我需要创建一个身份验证头?有没有人有使用UGC web服务发布评论的例子?

代码语言:javascript
复制
string ugcData = "{d\":{\"Content\":\"FROM WEB SERVICE\",\"Status\":2,\"ItemPublicationId\":\"68\",\"ItemId\":\"17805\",\"ItemType\":\"16\",\"Id\":0,\"ModeratedDate\":\"\",\"LastModifiedDate\":\"\",\"CreationDate\":\"\",\"Score\":0,\"Moderator\":\"\",\"User\":{\"Id\":\"DOMAIN%5Cbsmith\",\"Name\":\"Bill Smith\"}\"}";

WebServiceClient ugcCall = new WebServiceClient();

ugcCall.UploadString("/PostData", "POST", ugcData);

玛蒂亚。

约翰

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-29 19:15:10

你应该试着在评论集合上发帖:

代码语言:javascript
复制
ugcCall.UploadString("/Comments", "POST", ugcData);

然后你会发现你错过了CreationDate,在这个时刻你需要向你的实体添加一些东西,比如:

代码语言:javascript
复制
\"CreationDate\":\"/Date(1359457694472)\"

(我实际上还没有检查您是否需要更多的报价)。对于JSON字符串中日期的格式,请检查odata specs

如果仍然有问题,请尝试将DOMAIN%5Cbsmith更改为另一个虚拟值(例如‘test’)。

如果这还不够,那么也许您可以查看由UGC WebService生成的日志,并尝试进行一些堆栈跟踪。

这里还有一件事需要注意:为了使post发生,需要在Web.config中正确地定义UGC属性。

希望这能有所帮助。

票数 9
EN

Stack Overflow用户

发布于 2013-01-29 20:15:07

我使用了与您正在使用的方法相同的方法,即为UGC web服务使用生成的代理。为了创建正确的JavaScriptSerializer,我们使用了标准的.NET json。我认为这使得代码更容易阅读。

这里有一个代码片段,也许它会有一点帮助。当然,您需要确保设置了变量。

代码语言:javascript
复制
 WSR_ContentDelivery.User user = new WSR_ContentDelivery.User
 {
        Id = GetUserId(),
        Name = username,
        EmailAddress = email,
        ExternalId = website
 };

 WSR_ContentDelivery.Comment comment = new WSR_ContentDelivery.Comment
 {
        CreationDate = DateTime.UtcNow,
        LastModifiedDate = DateTime.UtcNow,
        ItemPublicationId = tcmUri.PublicationId,
        ItemId = tcmUri.ItemId,
        ItemType = tcmUri.ItemTypeId,
        Content = content,
        User = user,
        Status = Statuses.SubmittedNeedsModeration,
        Score = 0
 };

 JavaScriptSerializer serializer = new JavaScriptSerializer();
 return WSClient.UploadString("/Comments", "POST", "{d:" + 
        serializer.Serialize(comment) + "}", user.Id);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14581033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档