2013-07-04 39 views
6

Tôi đang cố chuyển đổi PDF sang bất kỳ định dạng được phép nào nhưng phản hồi không xuất nội dungLiên kết sau khi tệp pdf được tải lên.Chuyển đổi PDF sang bất kỳ API nào bằng API Google Drive

Tôi đã thử nhiều cách để quản lý để có được liên kết xuất. Các định dạng tài liệu khác có thể được tải lên và được xuất thành công. Tôi đã sử dụng mã từ 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') 

Tại sao không xuất raLiên kết trong phản hồi tải lên PDF?

Vui lòng, Nhóm Google đồng ý rằng PDF có thể được tải lên và xuất bởi API Drive.

Cảm ơn

[UPD] Đây là một bãi chứa theo yêu cầu của Httplib2. Khi tôi thấy truy vấn được đặt đúng theo hướng dẫn.

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--=============== 

Đây là một downloadLink trong phản ứng: "downloadUrl": "https://doc-0c-2c-docs.googleusercontent.com/docs/securesc/2sgoib42bclb5coaj85g5574fd2b65bn/2lnqk989jdaepp4b8igdco1j8fu7m9l3/1373040000000/00639208221381605991/00639208221381605991/0By108D1dgCDkX0NFOXV0V2pNd2s?h=16653014193614665626&e=download&gd=true",

+0

Phản hồi có chứa liên kết tải xuống không? Nếu vậy, chuyển đổi đã không diễn ra. Ngoài ra, vui lòng đặt thông số truy vấn bằng cách chuyển tham số vào phương thức chèn: '.insert (body = b, media_body = m, convert = True)' –

+0

Tôi đã cập nhật bài đăng. Vui lòng kiểm tra xem có gì sai với yêu cầu. Ngoài ra, tôi đã cố gắng như bạn đề nghị để vượt qua param chuyển đổi - không thành công. Tiêu đề yêu cầu giống như trong bản cập nhật. Tôi cho rằng bạn có nghĩa là liên kết tải xuống là "downloadUrl". Cảm ơn –

Trả lời

4

Đáng tiếc là Google Drive không cung cấp khả năng chuyển đổi các file PDF thông qua API của Google Drive.

Chỉ tài liệu gốc của Google (Google Tài liệu/Trang tính/Trang trình bày/Bản vẽ) có exportLinks cho phép tải xuống tài liệu Google ở ​​nhiều định dạng xuất. Tất cả các tệp khác - các tệp thông thường về cơ bản như PDF, hình ảnh, v.v ... - thay vào đó có một số downloadUrl cho phép bạn tải xuống tệp ở định dạng gốc.

+0

Ok, Cảm ơn. Các bạn, bạn nên cập nhật sách hướng dẫn của mình thay vì những người có bộ não bị bốc hơi. Bằng cách này tôi không thể tìm thấy bất kỳ downloadLink nào được nêu ra. Có downloadUrl (https://developers.google.com/drive/manage-downloads). –

+0

Xin lỗi nó thực sự là downloadUrl, downloadLink là một lỗi đánh máy :) – Nivco

+0

Bạn có thể cho chúng tôi biết phần nào của tài liệu bạn sẽ cập nhật không. Tài liệu đề cập đến "Tải xuống và xuất tài liệu Google - liên kết xuất". Trong ngữ cảnh này, Google Tài liệu có nghĩa là: Tài liệu/Bảng tính/Bản trình bày/Bản vẽ của Google. Các tệp PDF là các tệp thông thường chứ không phải Google Documents do đó đủ điều kiện cho 'downloadUrl'. – Nivco

Các vấn đề liên quan