大佬教程收集整理的这篇文章主要介绍了PHP实现自动登入google play下载app report的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了@L_675_0@实现自动登入google play下载app report的方法,有不错的实用价值。分享给大家供大家参考。具体实现步骤如下:
一、流程:
1.登入google play
登入google play需要三步:
https://play.google.com/apps/publish/
https://accounts.google.com/ServiceLogin?hl=en&continue=https://play.google.com/apps/publish/
https://accounts.google.com/ServiceLoginAuth
2.下载app report zip
3.unzip report
二、实现代码如下:
PHP;">/**
Login google play,download report,unzip
Date: 2013-04-17
Author: fdipzone
Version: 1.0
*/
class AndroidReportDownLoader{
private $username;
private $password;
private $dev_acc;
/* init
/*
@param String $appname
@param String $sd 开始日期
@param String $ed 结束日期
@param String $downloadFile 保存的zip名称
*/
public function run($appname='',$sd='',$ed='',$downloadFile=''){
$package = $appname;
$dim = 'overall,country,language,os_version,device,app_version,carrier';
//$met = 'daily_device_installs,active_device_installs,daily_user_installs,@R_603_10586@l_user_installs,active_user_installs,daily_device_uninstalls,daily_user_uninstalls,daily_device_upgrades';
$met = "daily_device_installs,current_device_installs,current_user_installs,daily_device_upgrades"; // google modify 2013-08-06
// login google play
$this->loginAuth($this->username,$this->password);
// download report zip
return $this->downloadReport($package,$sd,$ed,$dim,$met,$this->dev_acc,$downloadFilE);
}
/* login google play,create cookies
@param String $username
@return Boolean
*/
private function loginAuth($username,$password){
// step1
$mainUrl = "https://play.google.com/apps/publish/";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$mainUrl);
curl_setopt($ch,CURLOPT_COOKIEJAR,GOOGLE_PLAY_COOKIE_FILE);
curl_setopt($ch,CURLOPT_COOKIEFILE,GOOGLE_PLAY_COOKIE_FILE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
curl_close($ch);
// step 2
$serviceLoginUrl = "https://accounts.google.com/ServiceLogin?hl=en&continue=".$mainUrl;
$ch = curl_init();
curl_setopt($ch,$serviceLoginUrl);
curl_setopt($ch,1);
$serviceLoginRespHtml = curl_exec($ch);
curl_close($ch);
preg_match('/name="dsh"\sid="dsh"\svalue="(.?)"\s/i',$serviceLoginRespHtml,$matches); // get dsh
$dsh = $matches[1];
preg_match('/name="GALX"\svalue="(.?)"\s*/i',$matches); // get GALX
$galx = $matches[1];
// step 3
$loginGoogleUrl = "https://accounts.google.com/ServiceLoginAuth";
$postFields = "Referer=".$serviceLoginUrl;
$postFields .= "&AllowAutoRedirect=false";
$postFields .= "&conTinue=".$mainUrl;
$postFields .= "&dsh=".$dsh;
$postFields .= "&h1=en";
$postFields .= "&GALX=".$galx;
$postFields .= "&Email=".$username;
$postFields .= "&Passwd=".$password;
$postFields .= "&signIn=Sign+in";
$postFields .= "&PersistentCookie=yes";
$ch = curl_init();
curl_setopt($ch,$loginGoogleUrl);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postFields);
curl_setopt($ch,CURLOPT_HEADER,truE);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_exec($ch);
curl_close($ch);
// login cookies create success
return true;
}
// download Report zip file
private function downloadReport($package,$dev_acc,$downloadFilE) {
$fp = fopen($downloadFile,"w");
$ch = curl_init();
curl_setopt($ch,$url);
curl_setopt($ch,1);
curl_setopt($ch,CURLOPT_FILE,$fp);
curl_setopt($ch,GOOGLE_PLAY_COOKIE_FILE);
curl_exec($ch);
curl_close($ch);
fclose($fp);
if (file_exists($downloadFilE)){
return true;
}
return false;
}
/* unzip report
// demo
$username = 'testdev@gmail.com';
$password = 'abcd1234';
$dev_acc = '12345678901234567890';
$appname = 'com.testdev';
$sd = '20130417';
$ed = '20130417';
$downloadFile = 'testdev.zip';
$unzipPath = ROOT_PATH.'/testdev/';
$obj = new AndroidReportDownLoader($username,$password,$dev_acc);
if($obj->run($appname,$downloadFilE)){
$obj->unzipReport($unzipPath,$downloadFilE);
}
?>
以上是大佬教程为你收集整理的PHP实现自动登入google play下载app report的方法全部内容,希望文章能够帮你解决PHP实现自动登入google play下载app report的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。