Shopify에 즐겨찾기 스크립트 추가
배경.
2천개 안팎의 소장품을 추가하고 싶다는 의뢰를 받았기 때문이다.
컬렉션 외에도 제품의 추가 적용을 들을 수 있을 것으로 보인다.
이루어지다
노드로 해요.버전13.0
> node --version
v16.13.0
1. 프로젝트 제작
> mkdir create-collections
> cd create-collections
> yarn init -y
package.json
에 다음을 추가합니다.package.json
"type": "module"
필요한 매크로 패키지 설치> yarn add graphql graphql-request dotenv
2. Shopify 관리 화면에서 인증용 URL 얻기
온라인 상점 관리 페이지의 '응용 관리' 에서 '개인 응용 관리' 를 클릭하십시오.
'개인 프로그램 만들기' 를 누르면 개인 프로그램을 만들기 시작합니다.
ADMIN API 권한이 필요한 (나중에 변경할 수 있음)을 선택하고 저장을 클릭하여 작성합니다.
제작이 완료되면 다음 화면이 표시됩니다.
개인 응용 프로그램은 URL 형식인'https:/{apike}:{password]@{hostiname]/admin/api/{version]/{resource].json'의 기본 HTP 인증을 사용하여 Shopify 인증을 통과합니다
위에 적힌 것처럼 필요한 것은 URL의 예뿐입니다.URL 복사의 예.
이번에 GraphiQL에 대한 요구를 하기 때문에
{resource}
부분을 Graphiql로 변경했습니다.- https://{apikey}:{password}@{hostname}/admin/api/{version}/{resource}.json
+ https://{apikey}:{password}@{hostname}/admin/api/{version}/graphql.json
변경된 URL은 .env
파일에 저장됨.env
ENDPOINT=https://****/graphql.json
3. 대본 쓰기
GraphiQL의 Example 요청은 공식 문서 에 있기 때문에 이걸로 요청합니다.
src/index.js
import { GraphQLClient, gql } from 'graphql-request'
import dotenv from "dotenv";
dotenv.config();
const query = gql`
mutation CollectionCreate($input: CollectionInput!) {
collectionCreate(input: $input) {
userErrors { field, message }
collection {
id
title
descriptionHtml
handle
sortOrder
ruleSet {
appliedDisjunctively
rules {
column
relation
condition
}
}
}
}
}
`;
const variables = {
"input": {
"title": "Our entire shoe collection",
"descriptionHtml": "View <b>every</b> shoe available in our store.",
"ruleSet": {
"appliedDisjunctively": false,
"rules": {
"column": "TITLE",
"relation": "CONTAINS",
"condition": "shoe"
}
}
}
};
const client = new GraphQLClient(process.env.ENDPOINT, {})
try {
const res = await client.request(query, variables);
console.log('success')
console.log(res)
} catch (err) {
console.error(err)
}
4. 실행
집행하다.success가 있으면 애장품을 만들 수 있어요.
> node src/index.js
success
{
collectionCreate: {
userErrors: [],
collection: {
id: 'gid://shopify/Collection/281804701874',
title: 'Our entire shoe collection',
descriptionHtml: 'View <b>every</b> shoe available in our store.',
handle: 'our-entire-shoe-collection-1',
sortOrder: 'BEST_SELLING',
ruleSet: [Object]
}
}
}
기타
제품의 추가는 문서 정도를 봐야 한다
Reference
이 문제에 관하여(Shopify에 즐겨찾기 스크립트 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/mkazutaka/articles/37f0d2583b7084텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)