月別アーカイブ: 2018年6月

WebP対応

WebPに変換するコマンド

■cwebp
・インストール
yum install libwebp-tools

通常変換
cwebp sample.jpg -o sample.webp

可逆圧縮
cwebp -lossless sample.jpg -o sample.webp

圧縮率指定(デフォルトは75?)
cwebp -q 85 sample.jpg -o sample.webp

■ImageMagick
・使えるか確認
convert -list format | grep WebP

↓こんな感じで返ってきたらOK
WEBP* WEBP rw- WebP Image Format (libwebp 0.4.3 [0203])

使えなかったら、アンインストールして新しいバージョンをインストール

・インストール
yum install epel-release
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm

yum install –enablerepo=remi ImageMagick7 ImageMagick7-devel

・再度使えるか確認
convert rose: rose.webp
identify rose.webp

↓こんな感じで返ってきたらOK
rose.webp WEBP 70×46 70×46+0+0 8-bit sRGB 906B 0.000u 0:00.000

・可逆圧縮で圧縮率を指定
convert image.jpg -quality 85 -define webp:lossless=true image.webp

Apache2でやったら、
Content-Type: audio/unknown
になった、、、

とりあえず、これを設定したら認識してくれた。

AddType image/webp .webp

・参考URL
https://github.com/vincentorback/WebP-images-with-htaccess

Facebookで無期限のPage Access Tokenを取得する

tokenの期限が2か月とかだと
使いづらいので、やっぱり無期限がよい!

簡単なのは、FacebookアプリのApp ID と App Secret を | でつないだものを
App Access Token として使用すること

でも、これだとルート制限に引っかかることがあった。。。まぁしょうがないけど

こちらを参考に試してみる
https://gist.github.com/xl1/fe779a817a9d4938193d

・ユーザーアクセストークンを取得
いろいろ方法はあるけど、とりあえず簡単そうなやつをチョイス
↓こちらにアクセス
https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts
右上のプルダウンで該当のアプリを選択して、
[トークンを取得]から[ユーザーアクセストークンを取得]をクリックすると
アクセストークンのところに、ユーザーアクセストークンが表示される。

こちらのトークンの有効期限は1時間

・次に長い期限のユーザーアクセストークンを取得する
先ほど取得した短いトークンとapp_id、app_secretをセットして下記URLをたたく
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={token}

app_idやapp_secretは、下記URLから該当のアプリを開いて
[設定] > [ベーシック]から確認できる
https://developers.facebook.com/

・最後に無期限のページアクセストークンの取得
再びこいつにアクセスして、アクセストークンに長いユーザーアクセストークンをセットして
[送信]をクリック!!
https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts

そうすると無事に無期限のアクセストークンの取得完了!!

※ページを作成していないと、返ってくる値が空なので
 ↓こちらからなんでもよいので作成しておく
 https://www.facebook.com/pages/create.php

最後にちゃんとできているかを
アクセストークンデバッガーで確認!
https://developers.facebook.com/tools/debug/accesstoken/

有効期限が「受け取らない」になってたら
たぶん大丈夫でしょう!!