我正在研究使用 Drupal 6 中的服务模块从一些 JSON 格式的自定义视图中获取数据。我在http://drupal.org/node/308629上关注了一篇文章并创建了这个项目的 vb 版本(推送到https://sharpred@github.com/sharpred/ConsoleApplicationDrupal.git)
第一次运行我的代码时,我得到“无效的 API 密钥”,随后的运行返回“令牌之前已用于请求。使用另一个 nonce 密钥重试”。第二个错误是有点虚假的 IMO,因为我的代码每次运行时都会创建一个新的随机随机数。
我还注意到第一次运行在 services_timestamp_nonce 表中创建了一个条目,其中仅包含时间戳,但不包含 nonce 或域值。如果我删除这条记录,它会回到“无效的 api 密钥”消息。
该代码未经身份验证即可工作,并且来自站点上 /admin/build/services/browse/views.get 的方法调用也可以正常工作。
关于为什么这不起作用的任何想法?
搜索谷歌,“无效 api 密钥”的最常见来源似乎是使用的时间戳错误或 api 密钥与创建哈希时使用的域不匹配。据我所知,在我的情况下两者都不是真的。我在https://gist.github.com/1151222创建了用于创建时间戳和哈希的代码要点
任何人都可以帮助使这个过程发挥作用吗?