我正在为Shopify创建一个演示插件,并为管理员创建Webhooks的问题。我正在做如下的事情。
pry(#<HomeController>)> webhook = ShopifyAPI::Webhook.create(:format => "json", :topic => "carts/create", :address => "http://requestb.in/1k49wje1/")
=> #<ShopifyAPI::Webhook:0x007fe8207141d8
@attributes=
{"format"=>"json",
"topic"=>"carts/create",
"address"=>"http://requestb.in/1k49wje1/",
"id"=>6726111,
"created_at"=>"2014-08-12T08:33:42-04:00",
"fields"=>[],
"metafield_namespaces"=>[],
"updated_at"=>"2014-08-12T08:33:42-04:00"},
@errors=#<ActiveResource::Errors:0x007fe82071f0d8 @base=#
<ShopifyAPI::Webhook:0x007fe8207141d8 ...>, @messages={}>,
@persisted=true,
@prefix_options={},
@remote_errors=nil,
@validation_context=nil>
pry(#<HomeController>)> ShopifyAPI::Webhook.all.count
=> 1
如果我为同一主题创建另一个webhook,则会引发错误。为什么webhook没有出现在我的shopify管理员中?我在这里缺少什么?
编辑:我尝试在我朋友的系统上运行相同的代码,他可以使用count
访问我的webhook,当他创建时,我也可以访问webhook。这里发生了什么? Webhooks是在两个不同的系统上创建的,但没有出现在管理部分?如果没有管理员,他们会在哪里坚持下去?
答案 0 :(得分:1)
Webhooks永远不会出现在Admin中。有充分的理由。您出于某种原因使用API创建了它们。如果他们出现在管理员中,任何有权访问管理员的人都可以删除它们,完全搞砸了你的应用程序。所以你只需要使用API和你的密钥阅读webhooks,然后确定它们是否存在..非常整洁呃?