我在Heroku中部署了一个shopify应用程序,它是用Rails开发的。我需要从任何shopify商店的前端调用一个javascript函数。我读过这篇文章( http://www.shopify.com/technology/3033852-shopify-api-update-scripttags-javascript-insertion ),但我不理解它。
我必须把这段代码放在哪里:
HTTP POST http://their-shop.myshopify.com/admin/scripttags
<?xml version="1.0" encoding="UTF-8"?>
<script-tag>
<src>http://example.com/your-awesome-script.js</src>
<event>onload</event>
</script-tag>src标签应该是什么(对于我部署的rails应用程序),我应该将javascript调用函数放在哪里?
发布于 2012-08-13 23:03:49
这可能会有帮助。
Shopify Rails App
您只需对用户进行身份验证,然后获取从Shopify生成的令牌并将其保存在数据库中。稍后,只需执行以下操作:
ShopifyAPI::Base.site = token然后使用以下命令安装脚本:
s = ShopifyAPI::ScriptTag.create(:events => "onload",:src => "your javascript url")你就完了!
发布于 2012-11-07 15:44:00
为了让它正常工作,我这样做了:
在位于应用程序>控制器中的sessions_controller.rb文件中
在这之后
def show
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params[:shop], response[:credentials][:token])
session[:shopify] = sess我添加了
ShopifyAPI::Base.activate_session(sess)
ShopifyAPI::ScriptTag.create(:event => "onload", :src => "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js")您需要将上面代码中的https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js替换为您的绝对js文件路径。
然后,在位于config > initializers中的omniauth.rb文件中,确保将write_script_tags添加到作用域,即
:scope => 'write_script_tags',您可能还需要重新启动rails服务器并重新安装应用程序,以便授予这些权限。这应该能起到作用!
https://stackoverflow.com/questions/11936268
复制相似问题