2016-07-05 22 views
0

Googleドライブドキュメントをphp gmail api作成ボックスに添付しようとしました。Googleドライブからgmailにファイルを添付apiメールを作成

これまでのところ、選択したファイルにファイルIDを取得できましたが、そのfile.download urlをメールボックスに添付する方法を見つけることができませんでした。そうする方法はありますか?

私はまた、次のコードを使用しますが、エラーを示す、ダウンロードファイルを試してみてください

var downloadUrl = 'https://www.googleapis.com/drive/v2/files/' + file.id + '?alt=media'; 
    //var downloadUrl2 = file.downloadUrl1; 
    if (downloadUrl) { 
    //var accessToken = gapi.auth.getToken().access_token; 
    //debugger; 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET',downloadUrl); 
    debugger; 
    xhr.setRequestHeader('Authorization', 'Bearer ' + AUTH_TOKEN); 
    xhr.onload = function() { 
    alert(xhr.responseText); 

    }; 
    xhr.onerror = function() { 
    alert('Error'); 
    }; 
    xhr.send(); 
    } else { 
    alert('No Url'); 
    } 

答えて

0

のみバイナリファイルはをダウンロードすることができ、」私も「のみのバイナリファイルを次のコードを使用してファイルをダウンロードしようとするが、エラーを示すことができます。

    これは、あなたが私はあなたが使用してに見てください最初のバイナリにそれを変換する必要があることを意味をダウンロードすることが

  1. WindowBase64.btoa() - メソッドは、文字列内の各文字がバイナリデータのバイトとして扱われるStringオブジェクトからbase-64でエンコードされたASCII文字列を作成します。 var encodedData = window.btoa(stringToEncode); & Uint8Array arraybuffer

  2. - この例では、バイナリファイルとして画像を読み込み、生のバイト oReq.onload =関数(oEvent){ VAR arrayBuffer = oReq.responseから8ビット符号なし整数配列を作成します。 //注:oReq.responseTextでない場合 if(arrayBuffer){ var byteArray = new Uint8Array(arrayBuffer); 用(VAR I = 0;私< byteArray.byteLength;私は++){ //配列内の各バイトで何かを } } }

APIをGmailにGoogleドライブからファイルを添付RFC 2822標準に準拠したMIMEメッセージを作成することから始めますctrlq tutorial からメール

を構成し、GmailのAPIを呼び出すためにTo、Cc、およびBccヘッダ内の受信者に指定されたメッセージを送信します。/upload URIをmessages/sendメソッドとともに使用してメッセージを含むファイルをアップロードし、uploadTypeはメタデータなしでファイルをアップロードするためにmediaに設定されます。

追加リーディング: GMAIL API for sending Email with attachment

関連する問題