2016-11-20 3 views
1

皆さんGoogleドライブ(マイドライブ)からPDFファイルを開く/またはダウンロードできるアプリケーション(C#Windowsフォームアプリケーション)を作成しようとしていますアプリケーション内のGoogleドライブでPDFファイルを開く方法またはダウンロードする方法

これは、Adobe PDFリーダー(AxAcroPDF)を使用して、私のハードディスクからPDFファイルを開くためのサンプル方法は次のとおりです。

private void btn_OpenPDF_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Filter = "PDF Files (*.pdf)|*.pdf"; 
     ofd.Title = "Open an PDF file"; 

     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      apr_OpenPDF.src = ofd.FileName; 
     } 
    } 

しかし、どのようなGoogleドライブからPDFファイルを読むでしょうか?あなたは、開いてダウンロードしてGoogle Drive APIを使用してファイルを変換することができます任意の助けを借りて、私の英語

+0

あなたのタグにはado.netが表示されていますが、あなたのコードはwpfのように疑わしいようです。ここで検索しましたか?このトピックにはたくさんのスレッドがあります。 – JamieMeyer

答えて

0

を気の毒ため

感謝。ユーザーがGoogleドキュメントの[開く]コンテキストメニューからアプリを選択すると、ドライブは、選択したアプリケーションのOpen URLにユーザーをリダイレクトします。ユーザーのブラウザからのリダイレクトされたリクエストには、次の重要な情報が状態パラメータに含まれています。

  • アクションは、オープンに設定されています。
  • 使用するexportIdsです。

ファイルコンテンツをfiles.exportメソッドでダウンロードして変換します。

var fileId = "1ZdR3L3qP4Bkq8noWLJHSr_iBau0DNT4Kli4SxNc2YEo"; 
var request = driveService.Files.Export(fileId, "application/pdf"); 
var stream = new System.IO.MemoryStream(); 
// Add a handler which will be notified on progress changes. 
// It will notify on each chunk download and when the 
// download is completed or failed. 
request.MediaDownloader.ProgressChanged += 
(IDownloadProgress progress) => 
{ 
switch(progress.Status) 
{ 
case DownloadStatus.Downloading: 
{ 
Console.WriteLine(progress.BytesDownloaded); 
break; 
} 
case DownloadStatus.Completed: 
{ 
Console.WriteLine("Download complete."); 
break; 
} 
case DownloadStatus.Failed: 
{ 
Console.WriteLine("Download failed."); 
break; 
} 
} 
}; 
request.Download(stream); 
関連する問題