2

使用最新的 Drupal 6 和 Services 3.x 模块,并配置了 REST 服务器。创建了一个名为“test”的新内容类型,不需要 cck 字段,删除了 body 字段。我已经看到了几个使用相同方法测试 REST 服务的示例。

可以从 VBA 将其获取到 GET 和 DELETE 节点,但它不会 POST 或 PUT(创建或更新)。已阅读数十页和有关此的问题,REST 服务器配置似乎不错,VBA 提交似乎不错。

Dim MyURL as String
MyURL = "http://example.com/rest/node?node[type]=test&node[title]=newtestnode"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")

With objHTTP
    .Open "POST", MyURL, False
    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .send (MyURL)
End With

POST 和 PUT 上返回的状态是“未经授权:用户 0 “匿名”的访问被拒绝,响应为空。被拒绝的错误源自内部服务模块。

我已经验证匿名可以通过浏览器创建这种类型,并且我可以从 VBA 中删除,所以我确定我的权限和设置是有序的。我从 PHP、Perl、Java、Ruby 中找到了许多示例,但没有从 Excel VBA 中找到。我还在另一个服务器和 drupal 网站上对此进行了测试,结果都一样。服务问题队列没有这样的东西。

不能做吗?非常令人沮丧!

4

0 回答 0