サイズが5 MB(多分?)を超えるGoogleドライブファイルの問題が発生しています。私はそれらをダウンロードし、application/pdf
としてそれらをエクスポートしようとしているが、エラー500エラー500 - ダウンロードを取得drive.files.export
に走る私が取得し、ドライブのファイル(DOC、PPT、またはXLS)をダウンロードするには、次のコードを使用していています:
- (void)downloadFile:(NSString *)fileID
completionBlock:(void (^)(NSString *))onCompletionBlock
failBlock:(void (^)(NSError *))onDownloadFailBlock {
GTLRQuery *query = [GTLRDriveQuery_FilesExport queryForMediaWithFileId:fileID mimeType:@"application/pdf"];
GTLRDriveService *service = self.driveService;
[service executeQuery:query
completionHandler:^(GTLRServiceTicket *callbackTicket,
GTLRDataObject *dataObject,
NSError *callbackError) {
if (callbackError == nil) {
// The file downloaded successfully; its data is available as dataObject.data
// File has been downloaded
} else {
if (onDownloadFailBlock) {
onDownloadFailBlock(callbackError);
}
return;
}
}];
}
以下は、私がGTMSessionFetcher
を使用して取得したログです:
Download drive.files.export
2017-03-30 22:37:50 +0000 elapsed: 29.406sec
Request: GET https://www.googleapis.com/drive/v3/files/[fileID]/export?alt=media&mimeType=application%2Fpdf
Request headers:
Accept: application/json
Authorization: Bearer _snip_
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
User-Agent: org.cocoapods.GoogleAPIClientForREST/1.2.1 google-api-objc-client/3.0 iPhone/10.2 hw/sim (gzip)
Response: status 500
Response headers:
Cache-Control: private, max-age=0
Content-Encoding: gzip
Content-Length: 123
Content-Type: application/json; charset=UTF-8
Date: Thu, 30 Mar 2017 22:37:50 GMT
Expires: Thu, 30 Mar 2017 22:37:50 GMT
Server: GSE
Vary: Origin, X-Origin
alt-svc: quic=":443"; ma=2592000; v="37,36,35"
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
Response body: (180 bytes)
{
"error" : {
"message" : "Internal Error",
"errors" : [
{
"reason" : "internalError",
"message" : "Internal Error",
"domain" : "global"
}
],
"code" : 500
}
}
何が価値があるため、戻って、このエラーがスローされます際に30秒のサーバーの制限があるように思える - 未満のファイルの場合500 5 MBのサイズで、正しくやっていて、私はablですeをクリックしてpdfファイルを取得します。これは通常30秒以内に実行され、認証の問題ではないことを意味します。
また、mimeTypeをvnd.openxmlformats-officedocument.wordprocessingml.document
に変更しようとしましたが、"message": "This file is too large to be exported."
という403エラーが発生します。
この問題を回避するにはどうすればよいですか?
ありがとうございます。
「www.googleapis.com」が見つかりません。それはほんの一例ですか、それとも本当に使ったのですか? –
あなたが許可されていなければ、アクセスできなくなるので、ファイルIDを削除しました。 fileIDは1IrCPpb8H6GtfsvtbtqK7q4x8IxX0_C2uQC1xaoVYaH4 –
です。drive.google.comのウェブアプリを使用してこのファイルをpdfにエクスポートできますか? – pinoyyid