Próbuję przekonwertować plik PDF na dowolny dozwolony format, ale odpowiedź nie zawiera treści eksportowanych po przesłaniu pliku PDF.Konwertuj plik PDF na dowolny z interfejsem API Dysku Google
Próbowałem już na wiele sposobów, aby zdobyć ExportLinks. Inne formaty dokumentów można załadować i pomyślnie wyeksportować. Użyłem kodu z developers.google.com.
media_body = MediaFileUpload(filename, mimetype=mime_type, resumable=False)
body = {'title': title,
'description': description,
'mimeType': mime_type,
}
# Set the parent folder.
if parent_id:
body['parents'] = [{'id': parent_id}]
try:
request = service.files().insert(body=body, media_body=media_body)
#request.uri = "%s&convert=true&ocr=true" % request.uri
#request.uri = "%s&convert=true" % request.uri
request.uri = "https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart&alt=json&convert=true"
logger.debug("Request: %s", request.uri)
file_obj = request.execute()
# Uncomment the following line to print the File ID
# print 'File ID: %s' % file_obj['id']
import json
logger.debug('Get file result: %s' % json.dumps(file_obj, indent=4))
return file_obj
...
export_links = source_file.get('exportLinks')
if not export_links:
logger.debug('Warning: exportLinks does not exist')
Dlaczego w odpowiedzi na przesłanie pliku PDF nie ma linków eksportowych?
Zespół Google zgadza się, że plik PDF może być przesyłany i eksportowany za pomocą interfejsu Drive API.
Dzięki
[UPD] Oto wniosek zrzut httplib2. Jak widzę, zapytanie jest ustawione prawidłowo zgodnie z instrukcją.
Request: https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart&alt=json&convert=true
send: 'POST /upload/drive/v2/files?uploadType=multipart&alt=json&convert=true HTTP/1.1\r\n
Host: www.googleapis.com\r\n
content-length: 4425\r\n
accept-encoding: gzip, deflate\r\n
accept: application/json\r\n
user-agent: google-api-python-client/1.0\r\n
content-type: multipart/related; boundary="===============0758269123680398078=="\r\n
authorization: Bearer ya29.AHES6ZRDT0AJX8a5JN_u_0epF6ZCMGcqwyru1wzj22oVlMO9CfmFzlo\r\n
\r\n
--===============0758269123680398078==\nContent-Type: application/json\nMIME-Version: 1.0\n\n{"mimeType": "application/pdf", "description": "", "title": "Short_pdf.pdf"}\n--===============
Oto downloadLink w odpowiedzi: "downloadURL": "https://doc-0c-2c-docs.googleusercontent.com/docs/securesc/2sgoib42bclb5coaj85g5574fd2b65bn/2lnqk989jdaepp4b8igdco1j8fu7m9l3/1373040000000/00639208221381605991/00639208221381605991/0By108D1dgCDkX0NFOXV0V2pNd2s?h=16653014193614665626&e=download&gd=true"
Czy odpowiedź zawiera link do pobrania? Jeśli tak, konwersja nie miała miejsca. Ponadto, ustaw parametry zapytania, przekazując parametry do wstawienia metody: '.insert (body = b, media_body = m, convert = True)' –
Zaktualizowałem wpis. Sprawdź, co jest nie tak z prośbą. Próbowałem również, jak sugerowałeś, aby przekazać param konwersję - bez powodzenia. Nagłówek żądania jest taki sam jak w aktualizacji. Przypuszczam, że masz na myśli, że link do pobrania to "downloadUrl". Dzięki –