GoogleとWPの連携
目指すこと
この記事では、1つあるいは複数のWordPressサイトに対して複数の投稿者がGoogle Docsからボタン一つで投稿できるようにする設定を行います。
このしくみに関わる人々(プレイヤー)とアカウントたちが整理できていないと混乱するので、整理しておきます。
プレイヤー
管理者 |
|
編集者※ |
|
※この記事では便宜上編集者と表現していますが、管理者から別の利用者を管理者として招待することも可能です。
アカウント
目的サイトのアカウント | WordPressで作成された目的サイトのアカウント |
Google Docsのアカウント | 無料のGoogle Oneアカウントあるいは有料のGoogle Workspaceアカウント(この記事ではこのアカウントを使う) |
WordPress.comアカウント | WordPress.comの無料あるいは有料アカウント |
利用するサービス
目的サイト | 自社で運用するWordPressで構築されたブログサイト |
投稿の原稿となるGoogle Docsを利用する | |
WordPress.com | 米Automatic社が提供するWordPressのプラットフォーム |
Jetpack | 米Automatic社が提供するWordPress用プラグイン |
WordPress.com for Google Docs | 米Automatic社が提供するGoogle Docs用プラグイン 本記事では省略してWP4GDとする |
この記事で説明するユースケースは以下の2つです。
- 管理者が自分自身を連携する
- 管理者が他のメンバーを編集者として連携する(管理者として連携することも可能であるが説明がややこしくなるのでこの記事では「編集者」と限定する)
相関図
WordPress.comプラグインについて
理解しておくべきことを簡単に説明します。
WordPressのプラグインであるJetpackとWordPress.com for Google Docs(WP4GD)は共Automatic社が提供するサービスです。Jetpackは利用ユーザーも多いので何となく使っているという人も多いでしょうが、提供元Automatic社はあくまで営利団体であり、これらの無料プラグインを提供している代わりにビジネスとしAutomatic社の有料サービスに誘導したいという意図があります。必要があれば有料サービスを利用すればよいですが、ここで行いたいことは無料サービスの範囲で十分できます。
これらアドインの利用にはWordPress.comへのアカウント登録が必要であるということと、WP4GDと連携するサイトの情報はWordPress.comに登録しておく必要があります。
ユースケース1 : 管理者のGD4WP連携手順
事前に以下が完了しているものとします。
- 目的サイトにはJetpackがインストール済み
- 目的サイトのJetpackは管理者の持つWordPress.comアカウントと連携済み
WordPress.comでサイトを追加したらGoogle Docs側でそのサイトを追加します。
WordPress.comのサイト選択画面が出るので連携先を指定して「Approve」をクリック。
当然ながら、連携先サイトの認証を求められます。
認証が通るとこのようなそっけない画面が出ます。
セキュリティのためログインURLを変更していると(Login rebuilderプラグインなど)正常に認証ができません。その場合は一旦設定を戻して認証を通し、その後で元に戻します。
Google DocsのWP4GPのツールバー、今認証したサイトが表示されています。
これで、Google DocsからWordPressに直接投稿が可能となります。
試しにもう1つ別のサイトを登録すると次のように2つのサイトが表示されます。これで複数サイトへの投稿が可能となります。
ユースケース2 : 編集者追加連携手順
既にブログの管理者がWordPress.comのアカウントも持っておりサイトを連携してWP4GDとJetpackを通して投稿ができる状態になっているとき、新規に編集者を招待して、その人にもWP4GDとJetpackを通して投稿ができる状態にします。
WordPress.com設定
管理者がWordPress.comの管理画面で「サイトの切替え」で目的サイトに切り替える。
「ユーザー」画面から招待をクリック。
招待する編集者のメールアドレスを入力。このメールアドレスはすでに目的サイトに登録済みの利用者でもよいし、未登録でもよい。また、このメールアドレスはすでにWordPress.comのアカウント(管理者のWordPress.comサイトではなくこのメールを持つ人がすでに取得したWordPress.comアカウント)を持っていてもよい。
「招待状を送信」をクリック。
「招待状を送信しました」メッセージが表示される。
招待された人にメールが届くので、メール文中の「招待を承認する」をクリック。
招待されたメンバーがWordPress.comのアカウントを持っているかどうかで画面が異なる。
- まだWordPress.comのアカウントを持っていないとき、あるいは、このブラウザでまだWordPress.comにログインした履歴が無い時。(ログイントークンが無い時)
- すでにWordPress.comのアカウントを持っているとき
※ この招待者がすでにWordPress.comのアカウントを持っているのであれば、下部のリンクからログインする。
※ 一人で複数のWordPress.comアカウントを操作しているときに、「XXXとして参加」の部分に目的とするユーザではないユーザとなっている場合は切り替えが必要。また、ログイントークンがクリアされていなくて「The link you followed has expired.」というエラーメッセージが出るような場合は別ブラウザかシークレットモードなどで試すとよい。(補足説明参照)
WordPress.comにログインした状態となります。
Google Docs設定
Google DocsにWP4GDをインストール
新たな編集者は自分のアカウントでGoogle Docsを作成します。
「apps内を検索」にテキストボックスにWordPressくらいまで入力して検索。
WordPress.com for Google Docsを選択。
インストール。
自分のGoogleアカウントを指定する。
許可をクリック。
インストール完了
投稿
赤枠で囲った部分にWordPress.comのアカウント名が表示される。これが目的のサイトに招待されているユーザであること。(Googleアカウントであるとは限らない)
この時、目的サイトのサーバーをホスティングしているレンタルサーバー会社によっては連携できない場合がある。
例としては、ConoHa Wingでは502 Bad Gatewayが出る(2022年4月時点)。Nginxの設定によるものかと想像するが定かではない。少なくとも国外からのXML-RPC API アクセス制限とは関係なさそうである。(XSERVERでも同セキュリティオプションをONにしているが問題は起きない)
当面この問題が解決できないのでXSERVERに乗り換えた。
以下はConoHaでのエラー画面。
サーバーのプロバイダーがXSERVERでは成功する。
招待されたWordPress.comのアカウントでログインする。あるいは既に目的のサイトにユーザー登録されていればそのユーザー名とパスワードでログインする。
この画面が出たら完了。Google Docに戻り、Addonを再Openする。
これで、Google DocsからWordPressに直接投稿が可能となります。
補足説明
多重ユーザアカウント使用時のトラブル回避
一人で複数のWordPress.comアカウントを利用している時、以下のトラブルに見舞われました。
- WordPress.comからの招待を承認する際に、「他の人への招待を承認できません」といったエラーとなる。
- WP4GDの認証で「The link you followed has expired.」というエラーメッセージが出てサイトを登録できない。
このようなときは、ブラウザのキャッシュやCookieが関連しているようなので、Chromeのシークレットモードで認証作業をすることで回避できました。
サイトの連携(1つあるいは複数のサイト)
管理者あるいは編集者はWordPress.comのアカウントを持ち、目的サイトのJetpack連携によりWordPress.comの「参加サイト」に登録される。
WordPress.comの管理画面 右下の「基本のサイト」を見ると、連携するサイトとして2つのサイトが登録されていることが分かります。 |
よって、連携するサイトを登録するにはGoogle Docs上のWP4GDから行うことはできず、以下の方法で行います。
- 目的サイトのJetpack設定から登録または解除
- 解除だけならWordPress.comの管理画面から解除できる
WP4GDからのRemoveはあくまでWP4GDのリストから削除されただけで、WP4GDの「Add WordPress Site」から再連携可能。下図はWP4GDからのRemove。