広告とかの部分ミスッた?
PHP
Bing Translator APIを使いたいけどAppIDってどれか分かりにくい。(client_idとclient_secretってどれ?)
アカウント情報のページにプライマリ アカウント キー、顧客 IDとかあって翻訳具合が微妙で分かりにくい。
自分ほど英語読めないと顧客 ID=client idだけどOAuthを通らない。
開発者のタブにはクライアント ID、顧客の秘密があってどうやら
[クライアント ID]=[client_id]
[顧客の秘密]=[client_secret]
でOKでした。
Redisコマンド覚書-GET (redis-cli & owlient-phpredis)
GET
指定したキーのデータ(文字列)を取得する。
GET redis-cli
[sourcecode language=”bash”]
redis 127.0.0.1:6379> set key01 testval
OK
redis 127.0.0.1:6379> get key01
"testval"
[/sourcecode]
GET owlient-phpredis
[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);
echo $redis->get(‘key_01’);
[/sourcecode]
Redisコマンド覚書-SET (redis-cli & owlient-phpredis)
SET
指定したキーのデータ(文字列)を登録する。
SET redis-cli
[sourcecode language=”bash”]
redis 127.0.0.1:6379> set key01 testval
OK
redis 127.0.0.1:6379> get key01
"testval"
[/sourcecode]
SET owlient-phpredis
[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);
echo $redis->get(‘key_01’);
[/sourcecode]
Redisコマンド覚書-TTL (redis-cli & owlient-phpredis)
TTL
指定したキーの値を削除して、削除したキーの数が戻り値
TTL redis-cli
[sourcecode language=”bash”]
redis 127.0.0.1:6379>set key01 testval
OK
redis 127.0.0.1:6379>expire key01 3600
(integer) 1
redis 127.0.0.1:6379>ttl key01
(integer) 3564
[/sourcecode]
TTL owlient-phpredis
[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);
echo $redis->ttl(‘key_01’);
[/sourcecode]
Redisコマンド覚書-DEL (redis-cli & owlient-phpredis)
DEL
指定したキーの値を削除して、削除したキーの数が戻り値
DEL redis-cli
[sourcecode language=”bash”]
redis 127.0.0.1:6379>set key01 1
OK
redis 127.0.0.1:6379>del key01
(integer) 1
[/sourcecode]
DEL owlient-phpredis
[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->del(‘key_01’);
[/sourcecode]
Redisコマンド覚書-EXISTS (redis-cli & owlient-phpredis)
EXISTS
指定したキー値が存在するかチェックして、存在する場合1、しないばあい0を返す。
EXISTS redis-cli
[sourcecode language=”bash”]
redis 127.0.0.1:6379>exists key01
(integer) 0
redis 127.0.0.1:6379>set key01 1
OK
redis 127.0.0.1:6379>exists key01
(integer) 1
[/sourcecode]
EXISTS owlient-phpredis
[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->exists(‘key_01’);
[/sourcecode]
IPアドレスチェックツールからページランク、ポート開放確認ツールなどWEB系ツールまとめ
IPアドレスチェックツールからページランク、ポート開放確認ツールなどWEB系ツールまとめ!!
自分が良く使うのでIPチェックツールやページランク取得ツール、Whois情報取得などWEB系のツールをまとめました。
2014/03 いたずらが多いので、LinuxのCUIでのIP確認ツールのみ公開しています。
Linux コマンドラインでのグローバルIPを確認
wget -q http://doroidpanic.com/webtools/ip/ -O –
上記のコマンドはアクセス元IPアドレスを表示するだけのページへアクセスし、標準出力にIPアドレスを表示します。
IPアドレス確認ツールポートチェックツール- Linux CUI IP確認ツール
Whois情報取得ツールページランク取得
CentOS5.6のphp53でPearは使えない。
CentOS6もやっとリリースされたけど、タイミング的に一足遅かったので5.6で構築した際の話。
CentOSの安定性追求を考えると仕方ないけど、さすがにPHP5.1系は厳しい
phpmyadminも5.1対応の2系のダウンロードリンク消えました。。
それもあって、前みたいにremiとepelを設定しようかと思ったら
追加のレポなしで、「php53」がインストールできた。
まずは既存の5.1を削除。
yum remove php php-*
次に5.3系をいろいろ入れる。
yum install php53 php53-devel php53-mbstring php53-mysql
簡単に5.3が使えるようになった。
んで、Apche、Mysqlを入れた後、SmartyをセットアップしてPearでいろいろ入れようとしたら
「pear list」だけでPEARがやたらとNoticeとかWARNINGを出してくるので、見てみると構文の問題みたい
参照を渡す時の&の使い方がよくないとか、いろいろ文句言ってくる。
なんと、php-pearはphp53には対応してないみたい。
でもPearでDBとかZipを使いたかったけど、インストールできない。
Pearのバージョンをあげようとしても、エラーがでるので無理やりPearをアップデートしてみる。
pear upgrade --force Archive_Tar pear upgrade --force Console_Getopt pear upgrade PEAR
Pearのアップデートはうまくいったけど、エラーが出まくって気持ち悪い。。
結局DBのインストールもできなかったので、phpを5.1に戻しました。
Androidマーケットの情報をPHPでとってくる。(追加)
Androidマーケットの情報をPHPで取得
意外と興味を持ってる人が多いので、ソースを簡単に説明
概要などはこちら→PHPからマーケットにアクセスするAPI
まず、どんな物かというと、これらの便利なPHPがあります。
- local.php
アカウント情報 - market.proto.php
マーケットのデータを整形 - MarketSession.php
マーケットとの通信を確立 - protocolbuffers.inc.php
これも通信系
MarketSessionとlocal.phpの修正
編集の必要があるのは、local.phpとMarketSession.phpを修正します。
local.phpにはアカウントを設定して、MarketSession.phpの修正は過去の記事を見てください。
ANDROID_DEVICEIDは適当でもよさそうですが、一応端末のデバイスIDを記載しました。
検索したら、画像と情報を一覧表示する様にしたいので、こんな感じにGETの値を取得して詳細検索を行うようにします。
[code language=”php”]
include("MarketLib/local.php");
include("MarketLib/protocolbuffers.inc.php");
include("MarketLib/market.proto.php");
include("MarketLib/MarketSession.php");
$sQuery = $_POST["search"] ? $_POST["search"] : "";
$session = new MarketSession();
$session -› login( GOOGLE_EMAIL , GOOGLE_PASSWD );
$session -› setAndroidId( ANDROID_DEVICEID );
$oAppReq = new AppsRequest();
$oAppReq -› setQuery($sQuery);
$oAppReq -› setStartIndex($nStart);
$oAppReq -› setEntriesCount($nListNum);
$oAppReq -› setWithExtendedInfo(true); //詳細検索する
$oAppReq-› setOrderType(AppsRequest_OrderType::NONE);
$oAppReq-› setViewType(AppsRequest_ViewType::ALL);
$reqGroup = new Request_RequestGroup();
$reqGroup -›setAppsRequest($oAppReq);
$response = $session-›execute($reqGroup);
$groups = $response-›getResponsegroupArray();
[/code]
次に取得したデータ分ループさせる。
[code language=”php”]
//マーケットの一覧データを一個一個解析
foreach ($groups as $rg)
{
$appsResponse = $rg-›getAppsResponse();
$apps = $appsResponse-›getAppArray();
//ココが個々のアプリループです。
foreach ($apps as $app)
{
$sIcon = AppIcon( $app-›getId() );
$oAppExtend = $app-›getExtendedinfo();
echo "‹img src=’".$sIcon."’›";
echo $app-›getTitle();
echo $app-›getId();
echo $app-›getPackageName();
echo $app-›getVersion();
echo $app-›getCreator();
echo $app-›getPriceCurrency();
echo $app-›getPrice();
echo $app-›getPriceMicros();
echo $oAppExtend->getPromoText();
echo $oAppExtend->getDescription();
echo "<br />";
}
}
//画像取得
function AppIcon($p_AppId)
{
global $session;
$savepath = "/var/www/html/icon/"
$session = new MarketSession();
$session-›login(GOOGLE_EMAIL, GOOGLE_PASSWD);
$session-›setAndroidId(ANDROID_DEVICEID);
$gir = new GetImageRequest();
$gir-›setImageUsage(GetImageRequest_AppImageUsage::ICON);
$gir-›setAppId($p_AppId);
$gir-›setImageId(1);
$reqGroup = new Request_RequestGroup();
$reqGroup-›setImageRequest($gir);
$response = $session-›execute($reqGroup);
$groups = $response-›getResponsegroupArray();
foreach ($groups as $rg)
{
$imageResponse = $rg-›getImageResponse();
$imgpath = savepath.$p_AppId.".png";
file_put_contents(imgpath, $imageResponse-›getImageData());
}
return $imgpath;
}
[/code]
後は適当にFormを用意すれば、マーケットの情報を表示できます。
このAPIかは分かりませんが、いくつかアクセスする度にマーケットの情報を引っ張っている
アプリ紹介サイト?もありました。