Lấy link dữ liệu trong folder driver

Mục đích là lấy link 1 loạt tệp dữ liệu nhằm download hoặc làm việc gì đó tùy bạn

Sử dụng api của google để grap link driver

Bước 1 : Tạo key google api như trong video dưới đây

https://www.youtube.com/watch?v=zipz5RlN-hU

Bước 2 :Tạo controller có code như sau :

<?php
namespace frontend\controllers;
use yii\web\Controller;
use yii\filters\AccessControl;
use phpDocumentor\Reflection\Types\Array_;

class GrapdriverController extends Controller
{
	public function behaviors()
	{
		return [
				'access'=>[
					'class'=> AccessControl::className(),
					'rules'=>[
						[
							'actions'=>['index','api'],
							'roles'=>['?','@'],
							'allow'=>true,
						],
								
					]
				]
			];
	}
	public function actionIndex()
	{
		$link ='';
		if (\Yii::$app->request->get())
		{
			$link =\Yii::$app->request->get('link');
			$data = GrapdriverController::graplink($link);
			return $this->render('view',['data'=>$data,'check'=>1,'link'=> $link]);
		}
		
		return $this->render('view',['check'=>0,'link'=> $link]);
	}
	public function actionApi() {
		$link =\Yii::$app->request->get('link');
		$data = GrapdriverController::graplink($link);
		echo json_encode($data);
		
	}
	public function graplink($url_link)
	{
		$url_link = trim($url_link);
		$id = explode("folders/",$url_link);
		$id = explode("?",$id[1]);
		$api ='AIzaSyACMWLWUzl1lJh7YRQAtrC7mluQ8SIZn_Q';
		$url = 'https://www.googleapis.com/drive/v2/files?q="'.$id[0].'"+in+parents&key='.$api.'';
		$data = json_decode(file_get_contents($url),true);
		$item = $data["items"];
		$results = array();
		for($i=0;$i<count($item);$i++) {
			$return[$i]['alternateLink'] = $item[$i]['alternateLink'];
			$return[$i]['title'] = $item[$i]['title'];
			$width = $item[$i]['videoMediaMetadata']['width'];
			$height = $item[$i]['videoMediaMetadata']['height'];
			$time = $item[$i]['videoMediaMetadata']['durationMillis'];
			$name = explode(".",$item[$i]['title']);
			$link = explode("drivesdk",$item[$i]['alternateLink']);
			$results[$i]['link'] =$link[0].'sharing';
			$results[$i]['name'] =explode(".",$item[$i]['title'])[0];
		}
		return $results;
	}
}

Tiếp theo là tạo file view :

<div class="col-md-12">
<form method="GET" action="">
 <div class="col-md-12">
		<input type="text" class="form-control" name="link" value="<?= $link ?>">
  </div>
  <div class="col-md-12">
  		<input type="submit" name="btn_submit" class="btn btn-success form-control" style="
margin-top: 13px;">
   </div>
 </form>
</div>
<?php if ($check ==1){?>
<div class="container">
	<h2>Danh sách các file trong folder</h2>

	<table class="table table-striped table-bordered">
		<thead>
			<tr>
				<th>Số thứ tự</th>
				<th>Tên</th>
				<th>Link</th>
			</tr>
		</thead>
		<tbody>
    	<?php
					foreach ( $data as $key => $value ) {
						?>
     
      <tr>
				<td><?= $key?></td>
				<td><?= $value['name']?></td>
				<td><?= $value['link']?></td>
			</tr>
      <?php }?>
    </tbody>
	</table>
</div>
<?php }?>

Vậy là chúng ta đã xong graplink driver .Bạn có thể xem demo ở link dưới đây https://demo.hbsprogram.com//grapdriver

Có gì thắc mắc hoặc cần giải đáp các bạn liên hệ skype :hien_cpa hoặc là comment dưới bài viết nhé

 

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*