登入google play需要三步:
https://play.google.com/apps/publ " /> 欧美日韩一区在线,亚洲欧美国产不卡,99蜜桃在线观看免费视频网站

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP實現(xiàn)自動登入google play下載app report的方法

本文實例講述了php實現(xiàn)自動登入google play下載app report的方法,有不錯的實用價值。分享給大家供大家參考。具體實現(xiàn)步驟如下:

一、流程:

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

二、實現(xiàn)代碼如下:

<?phpdefine('ROOT_PATH', dirname(__FILE__));define('GOOGLE_PLAY_COOKIE_FILE', 'google_play_cookie.txt');/*** 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 $username google play account  * @param String $password google play password  * @param String $dev_acc google play dev account  */  public function __construct($username='', $password='', $dev_acc=''){    $this->username = $username;    $this->password = $password;    $this->dev_acc = $dev_acc;  }  /*  * @param String $appname  * @param String $sd      開始日期  * @param String $ed      結(jié)束日期  * @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,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, $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, 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 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 true;    }    return false;  }  /* unzip report  * @param String $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, $downloadFile);}?>

相信本文所述對大家的php程序設計有一定的借鑒價值。

php技術PHP實現(xiàn)自動登入google play下載app report的方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 新干县| 大安市| 樟树市| 榆中县| 广水市| 同心县| 洪雅县| 大新县| 垦利县| 泊头市| 临城县| 蓬莱市| 九台市| 安泽县| 长岛县| 蒙自县| 乌恰县| 镇安县| 彭阳县| 山东省| 赤水市| 蒙自县| 隆林| 滦平县| 和平区| 崇信县| 柏乡县| 广汉市| 昌邑市| 舒兰市| 广元市| 孟津县| 高唐县| 湘阴县| 毕节市| 太和县| 喀喇沁旗| 荆州市| 辽阳县| 丁青县| 长武县|