Three steps are required to log on to googleplay: play. google. comappspublishaccounts. google. comServiceLogin? Hlen & amp; continueplay. google. comappspublishaccounts. google. comServiceLoginAuth
Process
1. log on to google play
Three steps are required to log on to google play.
#
#: // Play.google.com/#/publish/
#
2. download the app report zip
3. unzip report
The code is as follows:
Username = $ username; $ this-> password = $ password; $ this-> dev_acc = $ dev_acc ;} /** @ param String $ appname * @ param String $ sd start date * @ param String $ ed 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_instils, active_device_instils, metrics, total_user_instils, active_user_instils, metrics'; $ met = "metrics, current_device_install, metrics, metrics, total_user_install, current_user_install, daily_device_uninstall, success, success "; // 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 * @ param String $ password * @ 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, recipe); curl_setopt ($ ch, CURLOPT_COOKIEFILE, recipe ); 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, recipe); 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, batch, batch); curl_setopt ($ ch, CURLOPT_COOKIEFILE, batch); 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 Report zip file private function downloadReport ($ package, $ sd, $ ed, $ dim, $ met, $ dev_acc, $ downloadFile) {$ url =" https://play.google.com/apps/publish/ Statistics/download? Package ={$ package} & 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 tr Ue;} return false;}/* unzip report * @ param String $ path decompressed 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 = 'abc1234'; $ dev_acc = '000000'; $ appname = 'com. testdev '; $ sd = '2017 417 '; $ ed = '000000'; $ downloadFile = 'testdev.zip'; $ unzipPath = ROOT_PATH. '/testdev/'; $ obj = new AndroidReportDownLoader ($ username, $ password, $ dev_acc); if ($ obj-> run ($ appname, $ sd, $ ed, $ downloadFile) {$ obj-> unzipReport ($ unzipPath, $ downloadFile) ;}?>
The above is the content for automatically logging on to google play to download the app report. For more information, see PHP Chinese network (www.php1.cn )!