2015-08-05 2 views
0

Я нахожусь в php, и мне нужно автоматически прикрепить файл диска google, чтобы отправить его по почте. Что я прямо сейчас:автоматически приложить файл диска Google для отправки почты

  1. HTML таблица, как это:

    типо

     <span class="js-sorter-desc glyphicon glyphicon-chevron-up pull-right"></span> 
         <span class="js-sorter-asc glyphicon glyphicon-chevron-down pull-right"></span> 
        </th> 
        <th data-field="Etiquetas" data-align="left" data-sortable="true">Etiquetas 
    
         <span class="js-sorter-desc glyphicon glyphicon-chevron-up pull-right"></span> 
         <span class="js-sorter-asc glyphicon glyphicon-chevron-down pull-right"></span> 
        </th> 
        <th data-field="Fecha" data-align="left" data-sortable="true">Fecha 
    
         <span class="js-sorter-desc glyphicon glyphicon-chevron-up pull-right"></span> 
         <span class="js-sorter-asc glyphicon glyphicon-chevron-down pull-right"></span> 
        </th> 
        <th data-field="Nombre" data-align="left" data-sortable="true">Nombre 
    
         <span class="js-sorter-desc glyphicon glyphicon-chevron-up pull-right"></span> 
         <span class="js-sorter-asc glyphicon glyphicon-chevron-down pull-right"></span> 
        </th> 
    </tr> 
    <tr class="fila_filtros filtros_buscador_drive"> 
        <th> 
         <input class="js-filter form-control" type="text" value=""> 
         </th> 
         <th> 
          <input class="js-filter form-control" type="text" value=""> 
          </th> 
          <th> 
           <input class="js-filter form-control" type="text" value=""> 
           </th> 
           <th> 
            <input class="js-filter form-control" type="text" value=""> 
            </th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="boton_enlace_directo" data-destino="newmail" data-id="Redactar E-Mail" data-vars="var_fichero_gdrive=1kth1GhrmMEBK2cAMyiy_4Dw1qlJFNdXVuXajJ6nMTQgvar_fichero_gdriveManual KumbiaPHP 1.0 beta2var_fichero_gdriveapplication/vnd.google-apps.documentvar_fichero_gdrivevar_fichero_gdrive"> 
            <td>application/vnd.google-apps.document</td> 
            <td></td> 
            <td>05/03/2015</td> 
            <td>Manual KumbiaPHP 1.0 beta2</td> 
           </tr> 
           <tr class="boton_enlace_directo" data-destino="newmail" data-id="Redactar E-Mail" data-vars="var_fichero_gdrive=1PwXa6f32BJuAC_m5X5wB9lPzoXAg__uKdUx-1efY4owvar_fichero_gdrive1392970712_Informe 2.docxvar_fichero_gdriveapplication/vnd.google-apps.documentvar_fichero_gdrivevar_fichero_gdrive"> 
            <td>application/vnd.google-apps.document</td> 
            <td></td> 
            <td>15/09/2014</td> 
            <td>1392970712_Informe 2.docx</td> 
           </tr> 
           <tr class="boton_enlace_directo" data-destino="newmail" data-id="Redactar E-Mail" data-vars="var_fichero_gdrive=0B4X2ktyVTp3mVmtjR2JTSTVreE0var_fichero_gdrive148b14b859c2fa4a.htmlvar_fichero_gdrivetext/htmlvar_fichero_gdrivehttps://docs.google.com/uc?id=0B4X2ktyVTp3mVmtjR2JTSTVreE0&amp;export=downloadvar_fichero_gdrive16"> 
            <td>text/html</td> 
            <td></td> 
            <td>26/09/2014</td> 
            <td>148b14b859c2fa4a.html</td> 
           </tr> 
          </tbody> 
         </table> 
    

В каждом теге добавить некоторые атрибуты данных для того, чтобы выбрать до

  1. Я хорошо подбираю эти параметры и хорошо загружаю шаблон новой формы письма. Но я не знаю, как автоматически прикрепить файл диска google. Я пытаюсь это:

if(isset($_REQUEST['var_fichero_gdrive']) && $_REQUEST['var_fichero_gdrive']!=""){ 
    $metadata_fichero = explode("var_fichero_gdrive",$_REQUEST['var_fichero_gdrive']); //guardamos el array en una nueva variable 
    $fichero_gdrive = array(
     "name" => $metadata_fichero[1], 
     "type" => $metadata_fichero[2], 
     "tmp_name" => $metadata_fichero[3], 
     "error" => 0, 
     "size" => $metadata_fichero[4] 
    ); 
    $_FILES['file'] = $fichero_gdrive; 
    unset($fichero_gdrive,$metadata_fichero); 
    $gest->uploadAttachment(); 
} 

Любая помощь, пожалуйста?

ответ

0

Я, наконец, получил его с помощью параметра «downloadUrl», возвращаемого приложением api google. Благодаря этому я получаю доступ к содержимому файла диска google и благодаря strin g $ _REQUEST ['var_fichero_gdrive']) (который я упомянул выше), я могу получить параметр donwloadUrl, то есть «var_fichero_gdrive» - это строка, подобная этой :

var_fichero_gdrive=IDvar_fichero_gdriveNAMEvar_fichero_gdriveDOWNLOAD_URL 

Звоню PHP с AJAX, а в PHP я поднимаю эту переменную, и я использую взрываются, чтобы получить эти данные Google Диске файлов (вы можете добавить, что вы хотите):

$metadata_fichero = explode("var_fichero_gdrive",$_REQUEST['var_fichero_gdrive']; 

Если нет параметра downloadUrl, я делаю что-то вроде этого:

if (!isset($downloadUrl) || trim($downloadUrl) == "") { 
     $file["downloadUrl"] = $file->exportLinks['application/pdf']; 
    } 

С линией выше я создаю новый downloadUrl, благодаря exportLinks.

И, наконец, я использую file_put_contents, чтобы вставить содержимое загруженного файла, в файл в каталоге TMP:

$lDrive  = new CGoogleDrive(TOKEN); 
$response_body = $lDrive->getDownloadFile(ID_GOOGLE_DRIVE_FILE); 
file_put_contents($dest, $response_body); 

Надеется, что это помогает. Вы должны адаптировать приведенный выше код к вашим потребностям. С уважением,