我正在尝试在 Clojure 中为 google adwords api 编写一个包装器,但在常量和接口方面遇到了困难。Java 代码如下所示:
CampaignServiceInterface campaignService =
user.getService(AdWordsService.V201109.CAMPAIGN_SERVICE);
通常你可以用例如 (Math/PI) 在 Clojure 中调用常量,但是当我写的时候:
(def user (AdWordsUser. ))
(.getService user (AdWordsService/V201109/CAMPAIGN_SERVICE))
我只是得到“没有这样的名称空间”。另外,我对如何正确实现接口有点一无所知。我想我应该使用“reify”,但我被卡住了。
(defn campaign-service [ ]
(reify
com.google.adwords.api.v201109.cm.CampaignServiceInterface
(get [this] ??))))