Shopify - 在应用程序中获取商店域名
Shopify - Get shop domain inside a app
我是 Shopify 应用程序开发的新手,我在后端使用 Node、Express 并与 polaris libaray 做出反应。
我的问题是如何通过应用程序获取请求发起的商店域。当我搜索时,我只能找到 Ruby ShopifyAPI::Shop.current
中使用的一个,我正在寻找类似的东西用于节点?
查看示例 https://github.com/BKnights/kotn-shopify-utils
是的,它使用会话。
代码非常特殊。我发布它主要是为了在我自己的项目之间共享一种简单的方式,但它对那些项目来说效果很好。
如果您在可以扩展服务器的地方使用它,则需要用更分布式的东西替换会话引擎。 Cookie 会话有效。
这需要将应用程序的设置页面路由到 /preferences。使用 validSession, session,
中间件
查看该路由
为了将域传递给 Polaris,我将商店信息放入包含页面上的普通 JS 对象中(它是一个 dustjs 模板):
<script type="text/javascript">
var KotN = {
shop:'{shop}',
apiKey: '{apiKey}',
shopOrigin: 'https://{shop}.myshopify.com',
locale:'{locale}' || (navigator.languages ? (navigator.language || navigator.languages[0]) : (navigator.userLanguage || navigator.browerLanguage))
};
</script>
然后 Polaris 组件看起来像:
import * as React from 'react';
import {EmbeddedApp} from '@shopify/polaris/embedded';
import ShopProvider from './stores/ShopProvider';
import Status from './views/status';
const shop = KotN.shop;
const shopOrigin = KotN.shopOrigin;
const apiKey = KotN.apiKey;
console.log('shop: '+ shop +' and origin: '+ shopOrigin);
export default class MyApp extends React.Component {
render() {
return (
<EmbeddedApp
apiKey={apiKey}
shopOrigin={shopOrigin}
forceRedirect={true}
debug={true}
>
<ShopProvider>
<Status />
</ShopProvider>
</EmbeddedApp>
);
}
}
我是 Shopify 应用程序开发的新手,我在后端使用 Node、Express 并与 polaris libaray 做出反应。
我的问题是如何通过应用程序获取请求发起的商店域。当我搜索时,我只能找到 Ruby ShopifyAPI::Shop.current
中使用的一个,我正在寻找类似的东西用于节点?
查看示例 https://github.com/BKnights/kotn-shopify-utils 是的,它使用会话。 代码非常特殊。我发布它主要是为了在我自己的项目之间共享一种简单的方式,但它对那些项目来说效果很好。
如果您在可以扩展服务器的地方使用它,则需要用更分布式的东西替换会话引擎。 Cookie 会话有效。
这需要将应用程序的设置页面路由到 /preferences。使用 validSession, session,
中间件
为了将域传递给 Polaris,我将商店信息放入包含页面上的普通 JS 对象中(它是一个 dustjs 模板):
<script type="text/javascript">
var KotN = {
shop:'{shop}',
apiKey: '{apiKey}',
shopOrigin: 'https://{shop}.myshopify.com',
locale:'{locale}' || (navigator.languages ? (navigator.language || navigator.languages[0]) : (navigator.userLanguage || navigator.browerLanguage))
};
</script>
然后 Polaris 组件看起来像:
import * as React from 'react';
import {EmbeddedApp} from '@shopify/polaris/embedded';
import ShopProvider from './stores/ShopProvider';
import Status from './views/status';
const shop = KotN.shop;
const shopOrigin = KotN.shopOrigin;
const apiKey = KotN.apiKey;
console.log('shop: '+ shop +' and origin: '+ shopOrigin);
export default class MyApp extends React.Component {
render() {
return (
<EmbeddedApp
apiKey={apiKey}
shopOrigin={shopOrigin}
forceRedirect={true}
debug={true}
>
<ShopProvider>
<Status />
</ShopProvider>
</EmbeddedApp>
);
}
}