月別アーカイブ: 2016年9月

GAS APIをたたいてJSONを取得してスプレッドシートに反映させる

GASを学んでみる
自己証明書を使ったベーシック認証のかかったAPIにアクセスして
スプレッドシートに取得した値を表示してみる。

// スプレッドシートが開かれたタイミングで実行される
function onOpen(event){
var menuitems = [
{name:’データ取得’, functionName:’getData’}
];
var sheet = SpreadsheetApp.getActiveSpreadsheet(); // アクティブなシート
sheet.addMenu(‘★’, menuitems); // スプレッドシートにメニューを追加
}

function getData(){
var apiUrl = ‘https://xxxx.com’;

// リクエストの中身
var extUrl = ‘Api/getLog’,
auth_data = Utilities.base64Encode(‘user:pass’), // ベーシック認証のURL
headers = {‘Authorization’ : ‘Basic ‘ + auth_data},
params = {
‘headers’ : headers,
‘validateHttpsCertificates’ : false // 自己証明書の場合、証明書のチェックしない
};

// fetch
var response = UrlFetchApp.fetch(apiUrl + extUrl , params),
result = JSON.parse(response.getContentText());

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

for (var i = 0; i < result.length; i++) {
var val = result[i];
sheet.getRange(10+i,1).setValue(val);
}
}

php-mecabを使ってみる

mecabをphpから使えるようにしたよ

cd /usr/local/src/

git clone https://github.com/rsky/php-mecab.git

cd /usr/local/src/php-mecab/mecab

phpize

./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/bin/mecab-config

make

make test

make install

// ファイル作成

vim /etc/php.d/mecab.ini

extension=mecab.so

/etc/init.d/httpd restart

PHP テーブルのJOIN

意外と簡単にできるんだね~


// 元のテーブルにも条件付けられるよ
$options = array('group' => 'xxxx', 'limit' => 3);

// JOINするテーブル
$options['joins'] = array(
array('table' => 'b',
'type' => 'INNER',
'fields' => 'yyy',
'conditions' => array(
array(
'ccc' => 'dddd'
)
),
),
);
$this->a->find('all', $options);

PHP Phantomjsを使ってみる

PHPだと、Javascript使ったサイトの情報とかとってこれない(?)ので
Phantomjsとか使うとかなりおもしろいのだ

・PHP Phantomjsのインストール
composer.jsonファイルを下記の内容で作成

// composer.json

bin-dirの中にphantomjsファイルが作成されるよ!

用意したらこちらのコマンドで実行

■ PHP PhantomJSを使ってみる!
まずはめっちゃ基本
クラスがないよ~みたいに怒られたら

こんな感じにautoload.phpを呼んでみよ~

次は、いろいろカスタマイズ

実際にphantomjs用のファイルを作成してるところはこちら
jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Resources/procedures
http_default.proc

今回、こちらをコピーしてオリジナルのprocファイルを同じとこに作成してみた
get_page_property.proc

procファイルに独自の変数を渡したいときとかは、こんな感じのファイルを作成して読んであげる
app/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Http
CustomRequest.php

秀丸で正規表現の置換

AMP対応でimgタグをamp-imgタグに書き換えようと思ったんだけど
わざわざプログラムを書くほどでもなく、ただ手で対応するのは面倒

なので秀丸さんに置換してもらいましたー

置換するときに、他のプログラム言語と同様に
$1とかやって、なかなかうまくいかずハマる。。。