Process
1. Login to Google Play
It takes three steps to log into 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. Download App zip
3.unzip
The code is as follows:
<?php define (' Root_path ', DirName (__file__));
Define (' Google_play_cookie_file ', ' google_play_cookie.txt '); /** * Login Google Play, download, unzip * DATE:2013-04-17 * Author:fdipzone * version:1.0/class
androidreportdownloader{private $username;
Private $password;
Private $dev _ACC; /* init * @param string $username Google Play account * @param string $password the Google Play password * @p Aram String $dev _acc Google Play dev account/Public function __construct ($username = ', $password = ', $dev _ac
C= ') {$this->username = $username;
$this->password = $password;
$this->DEV_ACC = $dev _acc; /* * @param string $appname * @param string $sd Start date * @param string $e D End Date * @param String $downloadFile saved zip name */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,total_user_installs,active_user_
Installs,daily_device_uninstalls,daily_user_uninstalls,daily_device_upgrades '; $met = "Daily_device_installs,current_device_installs,daily_user_installs,total_user_installs,current_user_ Installs,daily_device_uninstalls,daily_user_uninstalls,daily_device_upgrades "; Google Modify 2013-08-06//login Google Play $this->loginauth ($this->username, $t
His->password); Download $this->downloadreport ($package, $SD, $ed, $dim, $met, $this->dev_acc, $DOWNL
Oadfile);
}/* Login Google play,create cookies * @param string $username * @param string $password * @return Boolean * *
Private Function Loginauth ($username, $password) {//Step1 $MAINURL = "Https://pla
y.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, Curlopt_url, $SERVICELOGINURL);
curl_setopt ($ch, Curlopt_cookiejar, google_play_cookie_file);
curl_setopt ($ch, Curlopt_cookiefile, google_play_cookie_file);
curl_setopt ($ch, Curlopt_returntransfer, 1);
$serviceLoginRespHtml = curl_exec ($ch);
Curl_close ($ch); Preg_match ('/name= "DSH" \s*id= "DSH" \s*value= "(. *?)" \s*/i ', $serviceLoginRespHtml, $matches);
Get dsh $dsh = $matches [1]; Preg_match ('/name= "Galx" \s*value= "(. *?)" \s*/i ', $serviceLoginRespHtml, $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, Curlopt_url, $LOGINGOOGLEURL); curl_setopt ($ch, CUrlopt_post, 1);
curl_setopt ($ch, Curlopt_postfields, $postFields);
curl_setopt ($ch, Curlopt_cookiejar, google_play_cookie_file);
curl_setopt ($ch, Curlopt_cookiefile, google_play_cookie_file);
curl_setopt ($ch, Curlopt_header, true);
curl_setopt ($ch, curlopt_followlocation, true);
curl_setopt ($ch, Curlopt_returntransfer, 1);
Curl_exec ($ch);
Curl_close ($ch);
Login Cookies Create success return true; }///Download the downloadreport of the zip file Private function ($package, $SD, $ed, $dim, $met, $d EV_ACC, $downloadFile) {$url = "https://play.google.com/apps/publish/statistics/download?package={$packa
ge}&sd={$sd}&ed={$ed}&dim={$dim}&met={$met}&dev_acc={$dev _ACC} ";
$fp = fopen ($downloadFile, "w");
$ch = Curl_init (); curl_setopt ($ch, Curlopt_url, $url);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_file, $fp);
curl_setopt ($ch, Curlopt_cookiefile, google_play_cookie_file);
Curl_exec ($ch);
Curl_close ($ch);
Fclose ($FP);
if (file_exists ($downloadFile)) {return true;
return false;
}/* Unzip * @param string $path unzipped path * @param string $downloadFile zip file
* * Public Function Unzipreport ($path, $downloadFile) {$exec = "unzip". $downloadFile. "-D". $path;
Shell_exec ($exec); Unlink ($downloadFile);
Delete zip file}//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, $SD, $ed, $downloadFile)) {$obj->unzipreport ($unzipPath); }?>
Author: csdn blog proud Snow star Maple
Back to the column page: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/