gpt4 book ai didi

java - 如何使用 IBM SBT SDK java API 创建/更新连接博客文章

转载 作者:行者123 更新时间:2023-12-01 04:11:08 25 4
gpt4 key购买 nike

目前,我正在尝试使用 java sbt sdk api 创建和更新博客文章。

我可以使用 SDK 的 .getBlogPost(bkogHandle, postId) 方法阅读博客和博客文章,并能够检索单个博客文章。

但是,如果我尝试更新或创建博客文章,要么遇到 NullPointerException,要么什么也没有发生。

出于测试目的,我创建了一个演示博客并尝试更新其中的博客文章:

String blogHandle = "citb";
String postId = "7973d29e-26b6-4d23-ab04-ebfb734bf512";
BlogPost post = sbcs.getBlogService().getBlogPost(blogHandle, postId);

if (null != post){
System.out.println("Found post "+post.getTitle()+" ("+post.getAlternateUrl()+")");
Map<String, Object> fieldMap = post.getFieldsMap();
System.out.println("Found "+fieldMap.keySet().size()+" Entries in the field Map");

try{
//Save the post
System.out.println("Update blog post");
post.setContent("<p dir='ltr'>blabla "+new Date()+"</p>");
System.out.println(post.getContent());
post.setTitle(post.getTitle()+" +");
sbcs.getBlogService().updateBlogPost(post, blogHandle);
}catch(Exception e){
e.printStackTrace();
}
}

此示例运行时不会引发异常,但不会更新博客。我错过了什么吗?

如果我使用 post.save(blogHandle); 我会收到以下错误消息:

com.ibm.sbt.services.client.connections.blogs.BlogServiceException: error creating blog post
at com.ibm.sbt.services.client.connections.blogs.BlogService.createBlogPost(BlogService.java:627)
at com.ibm.sbt.services.client.connections.blogs.BlogPost.save(BlogPost.java:128)
Caused by: java.lang.NullPointerException
at com.ibm.sbt.services.client.connections.blogs.feedhandler.BlogsFeedHandler.createEntity(BlogsFeedHandler.java:42)
at com.ibm.sbt.services.client.connections.blogs.BlogService.createBlogPost(BlogService.java:624)
... 2 more

如果我使用 createBlogPost(post, blogHandle) 创建新帖子,我会遇到相同的错误。

有什么想法是什么问题或者有什么建议我可以做些什么来保存博客文章吗?

编辑:

在 BlogService 类中,问题似乎出在以下方法

public BlogPost createBlogPost(BlogPost post, String blogHandle) throws BlogServiceException {
if (null == post){
throw new BlogServiceException(null,"null post");
}
Response result = null;
try {
BaseBlogTransformer transformer = new BaseBlogTransformer(post);
Object payload = transformer.transform(post.getFieldsMap());

Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/atom+xml");
String createPostUrl = resolveUrl(blogHandle, FilterType.CREATE_BLOG_POST, null);
**result = createData(createPostUrl, null, headers, payload);**
**post = (BlogPost) new BlogPostsFeedHandler(this).createEntity(result);**

} catch (Exception e) {
throw new BlogServiceException(e, "error creating blog post");
}
return post;
}

最佳答案

我无法重现这个问题,但几天前我修复了 updateBlogPost 上的一个错误,我认为它在提到的版本中不可用。因此,我们必须检查下一次构建何时到期,并确认问题是否仍然存在。

对于 BlogPost 中的 save() -我将对其进行更改以返回更新的 BlogPost

关于java - 如何使用 IBM SBT SDK java API 创建/更新连接博客文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com