gpt4 book ai didi

windows-live-writer - 为什么 Windows Live Writer 不能与我的 MetaWebLog API 提供程序一起使用?

转载 作者:行者123 更新时间:2023-12-01 05:46:19 25 4
gpt4 key购买 nike

我正在开发一个网站,除其他外,它通过 Metaweblog API 提供博客。我已经让 API 与几个博客客户端一起工作得很好,但 Windows Live Writer 正在扼杀我。

我已经完成了网络跟踪以捕获实际的来回流量。结果如下:

WLW 要求提供我的博客 URL、用户名和密码。 URL 是/item/list/type/blog/user/1/bloguser/1,我提供了这个。

我看到 WLW 对该 URL 发出 HTTP 请求。它得到回应。该响应包括 RSD 和 wlwmanifest 链接标签。

来自 WLW 的下一个请求是针对/mwapi/rsd/bloguser/1,这是正确的 URL。

响应是 MetaWeblog RSD 响应:

<?xml version="1.0" encoding="UTF-8"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
<service>
<engineName>Cahoots2</engineName>
<engineLink>http://sourceforge.net/projects/cahoots/</engineLink>
<homePageLink>http://10.0.1.39:8888</homePageLink>
<apis>
<api name="MetaWeblog" blogID="1" preferred="true" apiLink="http://10.0.1.39:8888/mwapi/index" />
</apis>
</service>
</rsd>

WLW 的下一个请求是/mwapi/index。这是对 blogger.getUsersBlogs 的方法调用。请求是:
.<?xml version="1.0" encoding="utf-8"?>..
<methodCall>.. <methodName>blogger.getUsersBlogs</methodName>..
<params>.. <param>.. <value>..
<string>ffffffabffffffce6dffffff93ffffffac29ffffffc9fffffff826ffffffdeffffffc9ffffffe43c0b763036ffffffa0fffffff3ffffffa963377716</string>..
</value>..
</param>..
<param>..
<value>..
<string>CommunityAdmin</string>..
</value>..
</param>..
<param>..
<value>..
<string>password</string>..
</value>..
</param>.. </params>..</methodCall>

原谅这些时期;那些是回车。我是从网络跟踪中获取的。

来自服务器的响应也是 XML 格式的:
.<?xml version="1.0" encoding="UTF-8"?>.<methodResponse><params><param><value>
<struct><member><name>blogid</name><value><int>1</int>
</value></member><member><name>url</name><value>
<string>http://10.0.1.39:8888/item/list/type/blog/user/1/bloguser/1</string>
</value></member><member><name>blogname</name><value>
<string>CommunityAdmin @ Cahoots!</string></value></member></struct></value>
</param></params></methodResponse>.

这对我来说看起来是正确的。 BlogID 正确,URL 正确,博客名称正确。

WLW 然后重复原始的 getUsersBlogs 方法调用。它得到相同的响应。

WLW 然后显示,“已成功连接到您的帐户,但服务器报告您当前没有事件博客。请确保您在此提供商处的帐户是最新的,然后再继续。”

除了我在此处描述的请求之外,WLW 没有发出进一步的 HTTP 请求。

无论我做错了什么,有什么线索吗?我已确保 wlwmanifest.xml 文件可用,实际上任何对 wlwmanifest.xml 的请求(例如,/this/is/not/it/wlwmanifest.xml)仍将返回正确的文件。

编辑:我意识到我没有从我的 getUsersBlogs 方法返回一个数组。当我改变它时,方法调用的 HTTP 响应是:
.<?xml version="1.0" encoding="UTF-8"?>.<methodResponse><params><param><value><array><data><value>
<struct><member><name>blogid</name><value><int>1</int></value></member>
<member><name>url</name><value>
<string>http://10.0.1.39:8888/item/list/type/blog/user/1/bloguser/1</string>
</value></member><member><name>blogname</name><value>
<string>CommunityAdmin @ Cahoots!</string></value></member></struct></value>
</data></array></value></param></params></methodResponse>.

这看起来与 http://msdn.microsoft.com/en-us/library/aa905665.aspx 中描述的相同作为样本响应。但是,WLW 显示错误 - “未将对象引用设置到对象的实例。”同样,实际的响应数据不包括句点 - 这就是网络监视器表示回车的方式。

我已经完成了来自测试工具的测试调用,并且它在相同的响应下工作正常。而且,正如我所说,它正在与其他博客客户合作。帮助。

最佳答案

WLW 似乎对 MWA 实现非常挑剔。我没有正确地将方法名称之一大写。

关于windows-live-writer - 为什么 Windows Live Writer 不能与我的 MetaWebLog API 提供程序一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1786156/

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