我正在尝试使用 BloggerAPI 将 Flickr 的“blog this”功能实现到基于 pl/sql 的 CMS。
当 Flickr 向我发送发布事务时,HTTP 事务如下所示:
POST /pls/website/!pkg.procAPI HTTP/1.1
Host: www.mydomain.com
Accept: */*
User-Agent: Flickr
Content-Type: text/xml; charset=utf-8
Content-Length: 1220
Expect: 100-continue
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>blogger.newPost</methodName>
<params>
<param><value><string>NO_APP_KEY</string></value></param>
<param><value><string>1</string></value></param>
<param><value><string>markj</string></value></param>
<param><value><string>markj</string></value></param>
<param><value><string>This is a test post from <a href="http://www.flickr.com/r/testpost"><img alt="flickr" src="http://www.flickr.com/images/flickr_logo_blog.gif" width="41" height="18" border="0" align="absmiddle" /></a>, a fancy photo sharing thing.</string></value></param>
<param><value><boolean>1</boolean></value></param>
</params>
</methodCall>
但是我的服务器响应 HTTP-400 错误请求,错误消息是“签名不匹配或缺少 '='”,而我的 pl/sql 程序永远没有机会处理该请求。我怀疑在查看消息时灵活的参数传递会变得很糟糕,但我不知道还有什么办法
获取可用博客的过程似乎工作正常,但请求的内容没有将所有 html 实体作为消息的一部分:
POST /pls/website/!pkg.procAPI HTTP/1.1
Host: www.mydomain.com
Accept: */*
User-Agent: Flickr
Content-Type: text/xml; charset=utf-8
Content-Length: 304
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>blogger.getUsersBlogs</methodName>
<params>
<param><value><string>NO-APP-KEY</string></value></param>
<param><value><string>mark</string></value></param>
<param><value><string>markj</string></value></param>
</params>
</methodCall>
有没有办法直接从http请求的正文中获取xml数据?还是我正在寻找的其他方法?
谢谢,马克。