Shopifyアプリのアクセストークンを取得する方法

EC
PHP
Programming
Shopify
dog_guitar

こんにちは!

Shopifyはカナダ発のECプラットフォームですが、報道でも連日のように取り上げられており、認知度も高くなってきているようですね。

群雄割拠のECプラットフォーム市場の中で、Shopifyの特徴はその拡張性の高さではないでしょうか。

例えば、Shopifyには独自の「アプリ」があり、アプリを通じて特定の機能をサイトに追加することができます。

以下のアプリストアサイトでは、多数のShopifyアプリが用意されており、購入・インストール可能です。

https://apps.shopify.com/

Shopifyアプリは大きく2種類に分けることができます。

  • ・公開アプリ:多くの人の利用を想定した公開アプリ。
  • ・カスタムアプリ:特定のサイトに特化した非公開アプリ。

カスタムアプリは、つまり特定のShopifyサイトをカスタマイズすることに特化したアプリです。

Shopifyのソースコードは、”Liquid”という独自の制御言語を使って構成されていますが、かなり独特です。

Liquidも勉強して慣れていけば面白そうなのですが、色々と調べていくにつれて、アプリ機能を活用すれば、Liquid以外の言語を使ってサイトをカスタマイズできることを知りました。

Shopifyには各種APIが用意されており、開発を手助けしてくれます。また、PHPなど自分が使い慣れたプログラム言語を使った開発が可能です。

以上のような背景から、僕はShopifyアプリ構築に関心を持ち、開発の具体的な手順について情報を探してみたと言う次第です。

アクセストークン取得のための情報サイト

色々な記事を読んでいくうちに分かったことは、具体的なアプリ構築の最初のステップとして、アクセストークンを取得する必要だということです。

アクセストークンとは、アプリがAPIを通じてストアサイトにアクセスしてデータを取得したり、サイトを書き換えたりするためのトークンです。

そしてアクセストークン取得のための一連の手続きを実装する必要があります。しかし、恐れるには及びません。

実はShopify公式ブログに、十分すぎるくらい詳細な手順が記載されているからです。

日本語ページもあります!)

さらに必要なデータはGitHubに保存されており、誰でもダウンロードして使うことができます。

僕は、同じ内容について詳しく解説しているYouTube動画を見ながらサンプルアプリを構築しました(英語です)。

公式サイトのブログ記事も秀逸ですが、やはり動画の方が分かりやすさ抜群でした!

Shopifyアプリのアクセストークンを取得するのは今回が初めてだったのですが、エラーが発生して手こずった箇所もありました。

そこで、同じように初めてアクセストークンを取得する人向けに、引っかかりそうなポイントに焦点を当てつつ、情報をシェアしようと思います。

アクセストークン取得のための具体的な手順

アクセストークンを取得するための手順は以下の流れになります。一つずつみていきましょう!

  • Shopifyパートナーアカウントを取得ボタンをクリック
  • GithubからPHPデータをダウンロード
  • ストアサイトのユーザーがアプリの「インストール」ボタンをクリック
  • インストールサイトにリダイレクトされる
  • アプリのインストールを承認
  • アクセストークンが発行
  • アプリがトークンを保存

Shopifyパートナーアカウントを取得

こちらのサイトからShopifyパートナーアカウントの登録を行います。

PHPコードをダウンロード

こちらのGithubサイトから、アクセストークン取得のために必要なPHPコード一式をダウンロードできます。

「アプリを作成する」をクリック(1)

Shopifyパートナーアカウント→アプリ管理の右上の紫のボタン「アプリを作成する」をクリックします。

Shopifyアプリ作成

アプリの種類を選択

「カスタムアプリ」と「公開アプリ」のいずれかを選択します。

shopifyアプリ作成

アプリ情報を入力

アプリURLには、PHPファイルの保存先のアドレスを入力。

リダイレクトURLには、”install.php”と”generate_token.php”のアドレスを入力します(下の画像を参照)

shopifyアプリ

ここで入力間違いがあるとエラーの原因となるため、慎重に入力しましょう!

「アプリを作成する」をクリック(2)

アプリ情報の入力後、「アプリを作成する」をクリックします。アプリのAPIキーなどが生成されます!

PHPファイルに情報を入力

先ほど取得した以下の二つの情報を、generate_token.phpの所定の箇所にコピペします。

  • ・APIキー
  • ・shared_secret

同じく、以下の二つの情報を、install.phpの所定の箇所にコピペします。

  • ・APIキー
  • ・$redirect_uri = “https://アプリのURL/generate_token.php”

PHPファイルをサーバーにアップロード

上記のinstall.phpとgenerate_token.phpを含むPHPファイル一式をサーバーにアップロードします。

開発ストアからinstall.phpにアクセス

この工程がややトリッキーなのですが、アプリの開発ストアにログインして、以下のURLにアクセスします。

  • https://アプリサイト/sample_app/install.php?shop=“開発ストア名”

これにより、開発ストアにアプリがインストールされます。

ポイントは“開発ストア名”には.myshopify.comを付けないということです。サブドメイン のみ。

アクセストークン取得

上手く行けば、アクセストークンが表示されます。メモ帳にコピペしておきましょう!

APIを使ってアプリ構築をする際に、このアクセストークンが必要になります。

これでShopifyアプリのインストール完了です(まだ中身は空っぽですが。。)

エラーが発生した場合

インストール時のエラー

「開発ストアからinstall.phpにアクセス」のステップにおいて、以下の画面が出てきてしまい、インストールできなことがあります。厄介なエラーです。

Shopifyアプリのインストールエラー例

このエラーが生じた場合は、以下の点を確認しましょう!

  • 次の2つが完全一致していますか?
  • ・install.phpの変数$redirect_uriのURL
  • ・Shopify パートナーアカウント→アプリ管理ページ→該当アプリの「アプリ設定」→アプリURL

僕はこの2つが微妙に一致しておらずエラーが出てしまいました。。

ポイントは「完全」一致です。

どうしてもインストールできない。。

どうやっても開発ストアにアプリをインストールできない場合は、以下の方法も試してみてください。上手くいく場合があります。

  • アプリ管理→該当アプリ→「アプリをテストする」→開発ストアを選択

Shopifyアプリでアクセストークンを取得するステップでは意外と落とし穴があり、エラー処理に手こずることもあるかもしれません。

今回は僕が直面したエラーやその解決方法について情報シェアしました。

この情報が何かのお役に立てば幸いです!