- 投稿日:2019-01-26T14:20:41+09:00
LaravelでGoogle しごと検索の Indexing APIを呼び出す
はじめに
Google しごと検索が日本でもリリースされました。求人情報をGoogleの検索結果に表示することができるようになります。
Googleによると、必要な手順は大まかに以下の3つになります
- 求人情報を構造化データ(JobPosting)でマークアップ
- Indexing APIを利用して更新/削除情報をGoogleに通知
1はGoogleの資料、構造化データタイプの定義を参照
2のIndexing APIをPHP+Laravelから利用してみます。なお、今日時点でIndexing APIの利用は無料です。
LaravelでGoogle しごと検索の Indexing APIを呼び出す
Google提供のクライアントライブラリをcomposerでプロジェクトに追加します。
https://github.com/googleapis/google-api-php-clientお約束。composer require
composer require google/apiclient:"^2.0"composer.jsonにgoogle/apiclientが追加されました。
// (略) "require": { "php": "^7.1.3", "chillerlan/php-qrcode": "^2.0", "davejamesmiller/laravel-breadcrumbs": "5.x", "doctrine/dbal": "^2.5", "encore/laravel-admin": "1.6.*", "fideloper/proxy": "^4.0", "google/apiclient": "2.0", // (略)ライブラリインストールします
composer installライブラリが利用できるか確認するために、適当に呼び出してみました
use Google_Client; // 略 $client = new Google_Client(); $client->setApplicationName("Client_Library_Examples"); $client->setDeveloperKey("YOUR_APP_KEY"); dd($client->getAccessToken()); => nullよさそう。
続いて、
https://developers.google.com/search/apis/indexing-api/v3/prereqs?hl=ja
にあるPHPサンプルコードを貼り付けてみます
(jsonファイルはGoogle APIs コンソールから入手してconfigフォルダに置いた)$client = new Google_Client(); $client->setAuthConfig('./config/ivory-totem-999999-1234567890.json'); $client->addScope('https://www.googleapis.com/auth/indexing'); $httpClient = $client->authorize(); $endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish'; $content = '{ "url": "https://job.e2info.co.jp/job/4611", "type": "URL_UPDATED" }'; $response = $httpClient->post($endpoint, ['body' => $content]); dd($response ); => GuzzleHttp\Message\Response {#1000 -reasonPhrase: "OK" -statusCode: 200 -effectiveUrl: "https://indexing.googleapis.com/v3/urlNotifications:publish" -headers: array:11 [ "content-type" => array:1 [ 0 => "application/json; charset=UTF-8" ] "vary" => array:3 [なんと、Index送信成功しました
注意事項
- Google曰く、サイトマップよりIndexing APIの使用をおすすめするが、サイトマップ送信もしましょうとのこと。つまり両方やったほうがいいです(文献)
まとめ
ということで、あっという間に完成してしまいました。
- 実際に使う場合、例外処理とログ出力はちゃんとやりましょう。
- 一括送信する場合、マルチパートリクエスト(バッチ処理)を使いましょう。
- 割り当て制限に注意。割り当て
終わり
- 投稿日:2019-01-26T13:10:18+09:00
CentOS6.10 + php7 + Composer +laravel5.7を導入
はじめに
centos6.10にphp7とcomposerを導入したのでそのメモになります。
php
composerを導入するにはまずphpを導入しなければいけません。まずphpをインストールします。
remiリポジトリの導入
何もせずにyumでインストールしようとするとphp5がインストールされてしまうので、remiリポジトリを導入してphp7をインストールする準備をします
remiリポジトリの導入
公式remiインストール
yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
php7.3インストール
yum list php で確認するとバージョンはphp7.3が一番新しいようだったのでphp7.3をインストール
yum install php --enablerepo=remi-php73# php -v PHP 7.3.1 (cli) (built: Jan 8 2019 19:26:20) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologiescompoesr
composerインストール
確か公式ページのインストール方法を簡単にした方法↓
# curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading... Composer (version 1.8.0) successfully installed to: インストールパス Use it: php composer.phar場所を移動
mv composer.phar /usr/local/bin/composercomposer コマンド
ファイル
composer.json
- プロジェクトに必要なライブラリをここに記入していく
composer.lock
- composerコマンドでcomposer.jsonに記載されたライブラリと、依存関係でインストールしたライブラリも記載される
- 後述するcomposer install すれば開発環境をメンバーで同じにできる
composer コマンド
comoser init
- composer.jsonが生成。laravelなどプロジェクト作成時に実行される
composer require
- インストールしたい対象だけをインストール。
- composer.jsonを直接編集すると、インストールするためにcomposer updateを実行しなくてはいけず、インストールしたい対象だけでなくその他も一緒にアップデートされてしまう。
- よって、直接編集してインストールするということはなさそう。
composer update
- composer.jsonにかかれているライブラリを全てアップデート。
composer install
- composer.lockにかかれているライブラリをインストール。
laraver5.7導入
インストール
composerを使ってlaravelインストール
composer global require laravel/installer下記、グローバルのcomposerへパスを通しましょう
$HOME/.config/composer/vendor/bin/プロジェクト作成
laravel new プロジェクト名バージョン確認。laravelではartisanを使用してマイグレーションだったりその他諸々のlaravelの機能を使用するみたい。
# php artisan -V Laravel Framework 5.7.22
- 投稿日:2019-01-26T01:12:16+09:00
Laravelで生成するURLをHTTPS強制にする方法
いろんなやり方があるけど、たぶんこれが一番シンプル
app/Providers/AppServiceProvider.phppublic function boot() { if ($this->app->environment() === 'production') { \URL::forceScheme('https'); } }
- 投稿日:2019-01-26T00:34:28+09:00
いきなり技術書での勉強は辛い。。。Laravelの勉強する前にこれ見て拒否反応をなくす。
技術書で勉強できない初心者プログラマーです。
わからん単語をたくさん浴びると寝てしまうので、動画見て、もっかい動画みて、もっかい見て、ちょっと手を動かしてみて、ってしてるとだいぶ拒否反応なくなって技術書読むのが楽になります。ってことで現在勉強中のLaravelの参考動画とチュートリアル形式の記事を載せておきます。参考にして下さい。
まず動画
・【最短30分でできる!】Laravel5.7入門: 初心者でも簡単! ブラウザだけでLaravelを使ったWeb開発!
paizaが提供しているLaravelの動画。CRUDを超簡単に
最初の10分はpaizaクラウドの説明なので自分の環境でできる方は飛ばしてしまってもよいです。
電車移動中に1.5倍速で見るのがおすすめ。
https://www.youtube.com/watch?v=6fqE6B5NJZQ・Learn How To Create Basic Laravel Website | Laravel 5 Tutorial | Projects In Laravel | Eduonix
1時間くらい
上の動画よりほんの少し進んだ感じの動画。sassのコンパイルとかも出てきたような。
英語なので勉強してる自分がかっこよく思えます。
何言ってるかよくわからないですが、動きを見るだけないら問題ないと思う。(多分)
https://www.youtube.com/watch?v=jnvu1GpylP0&t=230sチュートリアルっぽいやつ
上の動画2,3回見た後にやりました。
・Laravel 5.7で基本的なCRUDを作る
感謝しかない。このボリュームまとめてくださってありがとうございます。
外国語対応のとことかは一旦飛ばしてやりました。
https://qiita.com/sutara79/items/ef30fcdfb7afcb2188eaまとめ
コンテンツ作ってくださる方に感謝ですね。
これで技術書読んでも寝ずに済みます。
- 投稿日:2019-01-26T00:34:28+09:00
[Laravel初心者向け] いきなり技術書での勉強は辛い。。。Laravelの勉強する前にこれ見て拒否反応をなくす。
技術書で勉強できない初心者プログラマーです。
わからん単語をたくさん浴びると寝てしまうので、動画見て、もっかい動画みて、もっかい見て、ちょっと手を動かしてみて、ってしてるとだいぶ拒否反応なくなって技術書読むのが楽になります。ってことで現在勉強中のLaravelの参考動画とチュートリアル形式の記事を載せておきます。参考にして下さい。
まず動画
・【最短30分でできる!】Laravel5.7入門: 初心者でも簡単! ブラウザだけでLaravelを使ったWeb開発!
paizaが提供しているLaravelの動画。CRUDを超簡単に
最初の10分はpaizaクラウドの説明なので自分の環境でできる方は飛ばしてしまってもよいです。
電車移動中に1.5倍速で見るのがおすすめ。
https://www.youtube.com/watch?v=6fqE6B5NJZQ・Learn How To Create Basic Laravel Website | Laravel 5 Tutorial | Projects In Laravel | Eduonix
1時間くらい
上の動画よりほんの少し進んだ感じの動画。sassのコンパイルとかも出てきたような。
英語なので勉強してる自分がかっこよく思えます。
何言ってるかよくわからないですが、動きを見るだけないら問題ないと思う。(多分)
https://www.youtube.com/watch?v=jnvu1GpylP0&t=230sチュートリアルっぽいやつ
上の動画2,3回見た後にやりました。
・Laravel 5.7で基本的なCRUDを作る
感謝しかない。このボリュームまとめてくださってありがとうございます。
外国語対応のとことかは一旦飛ばしてやりました。
https://qiita.com/sutara79/items/ef30fcdfb7afcb2188eaまとめ
コンテンツ作ってくださる方に感謝ですね。
これで技術書読んでも寝ずに済みます。