Blame docs/reference/html/GDataDocumentsDocument.html

Packit 4b6dd7
Packit 4b6dd7
<html>
Packit 4b6dd7
<head>
Packit 4b6dd7
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 4b6dd7
<title>GDataDocumentsDocument: GData Reference Manual</title>
Packit 4b6dd7
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit 4b6dd7
<link rel="home" href="index.html" title="GData Reference Manual">
Packit 4b6dd7
<link rel="up" href="ch16.html" title="Google Documents/Drive API">
Packit 4b6dd7
<link rel="prev" href="GDataDocumentsEntry.html" title="GDataDocumentsEntry">
Packit 4b6dd7
<link rel="next" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder">
Packit 4b6dd7
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
Packit 4b6dd7
<link rel="stylesheet" href="style.css" type="text/css">
Packit 4b6dd7
</head>
Packit 4b6dd7
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Top  | 
Packit 4b6dd7
                  Description  | 
Packit 4b6dd7
                  Object Hierarchy  | 
Packit 4b6dd7
                  Implemented Interfaces
Packit 4b6dd7
Packit 4b6dd7
Home
Packit 4b6dd7
Up
Packit 4b6dd7
Prev
Packit 4b6dd7
Next
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

GDataDocumentsDocument

Packit 4b6dd7

GDataDocumentsDocument — GData documents document object

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Stability Level

Packit 4b6dd7
Packit 4b6dd7
develop applications to these interfaces, release them, and have confidence that
Packit 4b6dd7
they will run on all minor releases of the product (after the one in which the
Packit 4b6dd7
interface was introduced, and within the same major release). Even at a major
Packit 4b6dd7
release, incompatible changes are expected to be rare, and to have strong
Packit 4b6dd7
justifications.
Packit 4b6dd7
">Stable, unless otherwise indicated
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Functions

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
GDataDocumentsDocument *
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
gdata_documents_document_new ()
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
GDataDownloadStream *
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
gdata_documents_document_download ()
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
gchar *
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
gdata_documents_document_get_download_uri ()
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
const gchar *
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
gdata_documents_document_get_thumbnail_uri ()
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Types and Values

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
 
Packit 4b6dd7
GDataDocumentsDocument
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
 
Packit 4b6dd7
GDataDocumentsDocumentClass
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Object Hierarchy

Packit 4b6dd7
    GObject
Packit 4b6dd7
    ╰── GDataParsable
Packit 4b6dd7
        ╰── GDataEntry
Packit 4b6dd7
            ╰── GDataDocumentsEntry
Packit 4b6dd7
                ╰── GDataDocumentsDocument
Packit 4b6dd7
                    ├── GDataDocumentsDrawing
Packit 4b6dd7
                    ├── GDataDocumentsPdf
Packit 4b6dd7
                    ├── GDataDocumentsPresentation
Packit 4b6dd7
                    ├── GDataDocumentsSpreadsheet
Packit 4b6dd7
                    ╰── GDataDocumentsText
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Implemented Interfaces

Packit 4b6dd7

Packit 4b6dd7
GDataDocumentsDocument implements
Packit 4b6dd7
 GDataAccessHandler.

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Includes

Packit 4b6dd7
#include <gdata/services/documents/gdata-documents-document.h>
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Description

Packit 4b6dd7

GDataDocumentsDocument is a subclass of GDataDocumentsEntry to represent an arbitrary Google Drive document (i.e. an arbitrary file which

Packit 4b6dd7
isn't a Google Documents presentation, text document, PDF, drawing or spreadsheet). It is subclassed by GDataDocumentsPresentation, GDataDocumentsText,
Packit 4b6dd7
GDataDocumentsPdf,  GDataDocumentsDrawing and GDataDocumentsSpreadsheet, which represent those specific types of Google Document, respectively.

Packit 4b6dd7

GDataDocumentsDocument used to be abstract, but was made instantiable in version 0.13.0 to allow for arbitrary file uploads. This can be achieved

Packit 4b6dd7
by setting “convert” to FALSE when making an upload using gdata_documents_service_upload_document_resumable(). See the
Packit 4b6dd7
documentation for GDataDocumentsUploadQuery for an example.

Packit 4b6dd7

It should be noted that GDataDocumentsDocument should only be used to represent arbitrary files; its subclasses should be used any time a standard

Packit 4b6dd7
Google Document (spreadsheet, text document, presentation, etc.) is to be represented.

Packit 4b6dd7

For more details of Google Drive’s GData API, see the

Packit 4b6dd7
online documentation.
Packit 4b6dd7
Packit 4b6dd7

Example 33. Downloading a Document

Packit 4b6dd7
Packit 4b6dd7
  
Packit 4b6dd7
    
Packit 4b6dd7
      
Packit 4b6dd7
        
1
Packit 4b6dd7
2
Packit 4b6dd7
3
Packit 4b6dd7
4
Packit 4b6dd7
5
Packit 4b6dd7
6
Packit 4b6dd7
7
Packit 4b6dd7
8
Packit 4b6dd7
9
Packit 4b6dd7
10
Packit 4b6dd7
11
Packit 4b6dd7
12
Packit 4b6dd7
13
Packit 4b6dd7
14
Packit 4b6dd7
15
Packit 4b6dd7
16
Packit 4b6dd7
17
Packit 4b6dd7
18
Packit 4b6dd7
19
Packit 4b6dd7
20
Packit 4b6dd7
21
Packit 4b6dd7
22
Packit 4b6dd7
23
Packit 4b6dd7
24
Packit 4b6dd7
25
Packit 4b6dd7
26
Packit 4b6dd7
27
Packit 4b6dd7
28
Packit 4b6dd7
29
Packit 4b6dd7
30
Packit 4b6dd7
31
Packit 4b6dd7
32
Packit 4b6dd7
33
Packit 4b6dd7
34
Packit 4b6dd7
35
Packit 4b6dd7
36
Packit 4b6dd7
37
Packit 4b6dd7
38
Packit 4b6dd7
39
Packit 4b6dd7
40
Packit 4b6dd7
41
Packit 4b6dd7
42
Packit 4b6dd7
43
Packit 4b6dd7
44
Packit 4b6dd7
45
Packit 4b6dd7
46
Packit 4b6dd7
47
Packit 4b6dd7
48
Packit 4b6dd7
49
Packit 4b6dd7
50
Packit 4b6dd7
51
Packit 4b6dd7
        
GDataDocumentsService *service;
Packit 4b6dd7
GDataDocumentsDocument *document;
Packit 4b6dd7
GFile *destination_file;
Packit 4b6dd7
const gchar *download_format;
Packit 4b6dd7
GDataDownloadStream *download_stream;
Packit 4b6dd7
GFileOutputStream *output_stream;
Packit 4b6dd7
GError *error = NULL;
Packit 4b6dd7
Packit 4b6dd7
/* Create a service and retrieve the document to download and the file and format to save the download in */
Packit 4b6dd7
service = create_youtube_service ();
Packit 4b6dd7
document = get_document_to_download (service);
Packit 4b6dd7
destination_file = query_user_for_destination_file (document);
Packit 4b6dd7
download_format = query_user_for_download_format (document);
Packit 4b6dd7
Packit 4b6dd7
/* Create the download stream */
Packit 4b6dd7
download_stream = gdata_documents_document_download (document, service, download_format, NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (document);
Packit 4b6dd7
g_object_unref (service);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    g_error ("Error creating download stream: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
    g_object_unref (destination_file);
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
/* Create the file output stream */
Packit 4b6dd7
output_stream = g_file_replace (destination_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (destination_file);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    g_error ("Error creating destination file: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
    g_object_unref (download_stream);
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
/* Download the document. This should almost always be done asynchronously. */
Packit 4b6dd7
g_output_stream_splice (G_OUTPUT_STREAM (output_stream), G_INPUT_STREAM (download_stream),
Packit 4b6dd7
                        G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (output_stream);
Packit 4b6dd7
g_object_unref (download_stream);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    g_error ("Error downloading document: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
      
Packit 4b6dd7
    
Packit 4b6dd7
  
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Each document accessible through the service has an access control list (ACL) which defines the level of access to the document to each user, and

Packit 4b6dd7
which users the document is shared with. For more information about ACLs for documents, see the online
Packit 4b6dd7
documentation on sharing documents.

Packit 4b6dd7
Packit 4b6dd7

Example 34. Retrieving the Access Control List for a Document

Packit 4b6dd7
Packit 4b6dd7
  
Packit 4b6dd7
    
Packit 4b6dd7
      
Packit 4b6dd7
        
1
Packit 4b6dd7
2
Packit 4b6dd7
3
Packit 4b6dd7
4
Packit 4b6dd7
5
Packit 4b6dd7
6
Packit 4b6dd7
7
Packit 4b6dd7
8
Packit 4b6dd7
9
Packit 4b6dd7
10
Packit 4b6dd7
11
Packit 4b6dd7
12
Packit 4b6dd7
13
Packit 4b6dd7
14
Packit 4b6dd7
15
Packit 4b6dd7
16
Packit 4b6dd7
17
Packit 4b6dd7
18
Packit 4b6dd7
19
Packit 4b6dd7
20
Packit 4b6dd7
21
Packit 4b6dd7
22
Packit 4b6dd7
23
Packit 4b6dd7
24
Packit 4b6dd7
25
Packit 4b6dd7
26
Packit 4b6dd7
27
Packit 4b6dd7
28
Packit 4b6dd7
29
Packit 4b6dd7
30
Packit 4b6dd7
31
Packit 4b6dd7
32
Packit 4b6dd7
33
Packit 4b6dd7
34
Packit 4b6dd7
35
Packit 4b6dd7
36
Packit 4b6dd7
37
Packit 4b6dd7
38
Packit 4b6dd7
39
Packit 4b6dd7
40
Packit 4b6dd7
41
Packit 4b6dd7
42
Packit 4b6dd7
43
Packit 4b6dd7
44
Packit 4b6dd7
45
Packit 4b6dd7
46
Packit 4b6dd7
47
Packit 4b6dd7
48
Packit 4b6dd7
49
Packit 4b6dd7
50
Packit 4b6dd7
51
Packit 4b6dd7
52
Packit 4b6dd7
53
Packit 4b6dd7
54
Packit 4b6dd7
55
Packit 4b6dd7
56
Packit 4b6dd7
57
Packit 4b6dd7
58
Packit 4b6dd7
59
Packit 4b6dd7
60
Packit 4b6dd7
61
Packit 4b6dd7
62
Packit 4b6dd7
63
Packit 4b6dd7
64
Packit 4b6dd7
65
Packit 4b6dd7
66
Packit 4b6dd7
67
Packit 4b6dd7
68
Packit 4b6dd7
69
Packit 4b6dd7
70
Packit 4b6dd7
71
Packit 4b6dd7
72
Packit 4b6dd7
73
Packit 4b6dd7
74
Packit 4b6dd7
75
Packit 4b6dd7
76
Packit 4b6dd7
77
Packit 4b6dd7
78
Packit 4b6dd7
79
Packit 4b6dd7
80
Packit 4b6dd7
81
Packit 4b6dd7
82
Packit 4b6dd7
83
Packit 4b6dd7
84
Packit 4b6dd7
85
Packit 4b6dd7
86
Packit 4b6dd7
87
Packit 4b6dd7
        
GDataDocumentsService *service;
Packit 4b6dd7
GDataDocumentsDocument *document;
Packit 4b6dd7
GDataFeed *acl_feed;
Packit 4b6dd7
GDataAccessRule *rule, *new_rule;
Packit 4b6dd7
GDataLink *acl_link;
Packit 4b6dd7
GList *i;
Packit 4b6dd7
GError *error = NULL;
Packit 4b6dd7
Packit 4b6dd7
/* Create a service and retrieve a document to work on */
Packit 4b6dd7
service = create_documents_service ();
Packit 4b6dd7
document = get_document (service);
Packit 4b6dd7
Packit 4b6dd7
/* Query the service for the ACL for the given document */
Packit 4b6dd7
acl_feed = gdata_access_handler_get_rules (GDATA_ACCESS_HANDLER (document), GDATA_SERVICE (service), NULL, NULL, NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    g_error ("Error getting ACL feed for document: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
    g_object_unref (document);
Packit 4b6dd7
    g_object_unref (service);
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
/* Iterate through the ACL */
Packit 4b6dd7
for (i = gdata_feed_get_entries (acl_feed); i != NULL; i = i->next) {
Packit 4b6dd7
    const gchar *scope_value;
Packit 4b6dd7
Packit 4b6dd7
    rule = GDATA_ACCESS_RULE (i->data);
Packit 4b6dd7
Packit 4b6dd7
    /* Do something with the access rule here. As an example, we update the rule applying to test@gmail.com and delete all
Packit 4b6dd7
     * the other rules. We then insert another rule for example@gmail.com below. */
Packit 4b6dd7
    gdata_access_rule_get_scope (rule, NULL, &scope_value);
Packit 4b6dd7
    if (scope_value != NULL && strcmp (scope_value, "test@gmail.com") == 0) {
Packit 4b6dd7
        GDataAccessRule *updated_rule;
Packit 4b6dd7
Packit 4b6dd7
        /* Update the rule to make test@gmail.com a writer (full read/write access to the document, but they can't change
Packit 4b6dd7
         * the ACL or delete the document). */
Packit 4b6dd7
        gdata_access_rule_set_role (rule, GDATA_DOCUMENTS_ACCESS_ROLE_WRITER);
Packit 4b6dd7
        updated_rule = GDATA_ACCESS_RULE (gdata_service_update_entry (GDATA_SERVICE (service), GDATA_ENTRY (rule), NULL, &error));
Packit 4b6dd7
Packit 4b6dd7
        if (error != NULL) {
Packit 4b6dd7
            g_error ("Error updating access rule for %s: %s", scope_value, error->message);
Packit 4b6dd7
            g_error_free (error);
Packit 4b6dd7
            g_object_unref (acl_feed);
Packit 4b6dd7
            g_object_unref (document);
Packit 4b6dd7
            g_object_unref (service);
Packit 4b6dd7
            return;
Packit 4b6dd7
        }
Packit 4b6dd7
Packit 4b6dd7
        g_object_unref (updated_rule);
Packit 4b6dd7
    } else {
Packit 4b6dd7
        /* Delete any rule which doesn't apply to test@gmail.com */
Packit 4b6dd7
        gdata_service_delete_entry (GDATA_SERVICE (service), GDATA_ENTRY (rule), NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
        if (error != NULL) {
Packit 4b6dd7
            g_error ("Error deleting access rule for %s: %s", scope_value, error->message);
Packit 4b6dd7
            g_error_free (error);
Packit 4b6dd7
            g_object_unref (acl_feed);
Packit 4b6dd7
            g_object_unref (document);
Packit 4b6dd7
            g_object_unref (service);
Packit 4b6dd7
            return;
Packit 4b6dd7
        }
Packit 4b6dd7
    }
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (acl_feed);
Packit 4b6dd7
Packit 4b6dd7
/* Create and insert a new access rule for example@gmail.com which allows them read-only access to the document. */
Packit 4b6dd7
rule = gdata_access_rule_new (NULL);
Packit 4b6dd7
gdata_access_rule_set_role (rule, GDATA_DOCUMENTS_ACCESS_ROLE_READER);
Packit 4b6dd7
gdata_access_rule_set_scope (rule, GDATA_ACCESS_SCOPE_USER, "example@gmail.com");
Packit 4b6dd7
Packit 4b6dd7
acl_link = gdata_entry_look_up_link (GDATA_ENTRY (document), GDATA_LINK_ACCESS_CONTROL_LIST);
Packit 4b6dd7
new_rule = GDATA_ACCESS_RULE (gdata_service_insert_entry (GDATA_SERVICE (service), gdata_link_get_uri (acl_link), GDATA_ENTRY (rule),
Packit 4b6dd7
                                                          NULL, &error));
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (rule);
Packit 4b6dd7
g_object_unref (document);
Packit 4b6dd7
g_object_unref (service);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    g_error ("Error inserting access rule: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (acl_link);
Packit 4b6dd7
      
Packit 4b6dd7
    
Packit 4b6dd7
  
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Functions

Packit 4b6dd7
Packit 4b6dd7

gdata_documents_document_new ()

Packit 4b6dd7
GDataDocumentsDocument *
Packit 4b6dd7
gdata_documents_document_new (const gchar *id);
Packit 4b6dd7

Creates a new GDataDocumentsDocument with the given entry ID (“id”).

Packit 4b6dd7
Packit 4b6dd7

Parameters

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

id

Packit 4b6dd7

the entry's ID (not the document ID), or NULL.

Packit 4b6dd7
[allow-none]
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Returns

Packit 4b6dd7

a new GDataDocumentsDocument, or NULL; unref with g_object_unref().

Packit 4b6dd7

[transfer full]

Packit 4b6dd7
Packit 4b6dd7

Since: 0.13.0

Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7

gdata_documents_document_download ()

Packit 4b6dd7
GDataDownloadStream *
Packit 4b6dd7
gdata_documents_document_download (GDataDocumentsDocument *self,
Packit 4b6dd7
                                   GDataDocumentsService *service,
Packit 4b6dd7
                                   const gchar *export_format,
Packit 4b6dd7
                                   GCancellable *cancellable,
Packit 4b6dd7
                                   GError **error);
Packit 4b6dd7

Downloads and returns the document file represented by the GDataDocumentsDocument. If the document doesn't exist, NULL is returned, but no error

Packit 4b6dd7
is set in error
Packit 4b6dd7
.

Packit 4b6dd7

export_format

Packit 4b6dd7
 should be the file extension of the desired output format for the document, from the list accepted by Google Documents. For example:
Packit 4b6dd7
GDATA_DOCUMENTS_PRESENTATION_PDF, GDATA_DOCUMENTS_SPREADSHEET_ODS or GDATA_DOCUMENTS_TEXT_ODT.

Packit 4b6dd7

If self

Packit 4b6dd7
 is a GDataDocumentsSpreadsheet, only the first grid, or sheet, in the spreadsheet will be downloaded for some export formats. To download
Packit 4b6dd7
a specific a specific grid, use gdata_documents_spreadsheet_get_download_uri() with GDataDownloadStream to download the grid manually. See the

Packit 4b6dd7
GData protocol
Packit 4b6dd7
specification for more information.
Packit 4b6dd7

To get the content type of the downloaded file, gdata_download_stream_get_content_type() can be called on the returned GDataDownloadStream.

Packit 4b6dd7
Calling gdata_download_stream_get_content_length() on the stream will not return a meaningful result, however, as the stream is encoded in chunks,
Packit 4b6dd7
rather than by content length.

Packit 4b6dd7

In order to cancel the download, a GCancellable passed in to cancellable

Packit 4b6dd7
 must be cancelled using g_cancellable_cancel(). Cancelling the individual
Packit 4b6dd7
GInputStream operations on the GDataDownloadStream will not cancel the entire download; merely the read or close operation in question. See the
Packit 4b6dd7
“cancellable” for more details.

Packit 4b6dd7

If the given export_format

Packit 4b6dd7
 is unrecognised or not supported for this document, GDATA_SERVICE_ERROR_NOT_FOUND will be returned.

Packit 4b6dd7

If service

Packit 4b6dd7
 isn't authenticated, a GDATA_SERVICE_ERROR_AUTHENTICATION_REQUIRED will be returned.

Packit 4b6dd7

If there is an error getting the document, a GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.

Packit 4b6dd7
Packit 4b6dd7

Parameters

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

self

Packit 4b6dd7

a GDataDocumentsDocument

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

service

Packit 4b6dd7

a GDataDocumentsService

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

export_format

Packit 4b6dd7

the format in which the document should be exported

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

cancellable

Packit 4b6dd7

a GCancellable for the entire download stream, or NULL.

Packit 4b6dd7
[allow-none]
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

error

Packit 4b6dd7

a GError, or NULL

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Returns

Packit 4b6dd7

a GDataDownloadStream to download the document with, or NULL; unref with g_object_unref().

Packit 4b6dd7

[transfer full]

Packit 4b6dd7
Packit 4b6dd7

Since: 0.8.0

Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7

gdata_documents_document_get_download_uri ()

Packit 4b6dd7
gchar *
Packit 4b6dd7
gdata_documents_document_get_download_uri
Packit 4b6dd7
                               (GDataDocumentsDocument *self,
Packit 4b6dd7
                                const gchar *export_format);
Packit 4b6dd7

Builds and returns the download URI for the given GDataDocumentsDocument in the desired format. Note that directly downloading the document using

Packit 4b6dd7
this URI isn't possible, as authentication is required. You should instead use gdata_download_stream_new() with the URI, and use the resulting
Packit 4b6dd7
GInputStream.

Packit 4b6dd7

export_format

Packit 4b6dd7
 should be the file extension of the desired output format for the document, from the list accepted by Google Documents. For example:
Packit 4b6dd7
GDATA_DOCUMENTS_PRESENTATION_PDF, GDATA_DOCUMENTS_SPREADSHEET_ODS or GDATA_DOCUMENTS_TEXT_ODT.

Packit 4b6dd7

If the export_format

Packit 4b6dd7
 is not recognised or not supported for this document, NULL is returned.

Packit 4b6dd7
Packit 4b6dd7

Parameters

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

self

Packit 4b6dd7

a GDataDocumentsDocument

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

export_format

Packit 4b6dd7

the format in which the document should be exported when downloaded

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Returns

Packit 4b6dd7

the download URI, or NULL; free with g_free().

Packit 4b6dd7

[nullable]

Packit 4b6dd7
Packit 4b6dd7

Since: 0.7.0

Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7

gdata_documents_document_get_thumbnail_uri ()

Packit 4b6dd7
const gchar *
Packit 4b6dd7
gdata_documents_document_get_thumbnail_uri
Packit 4b6dd7
                               (GDataDocumentsDocument *self);
Packit 4b6dd7

Gets the URI of the thumbnail for the GDataDocumentsDocument. If no thumbnail exists for the document, NULL will be returned.

Packit 4b6dd7

The thumbnail may then be downloaded using a GDataDownloadStream.

Packit 4b6dd7
Packit 4b6dd7

Example 35. Downloading a Document Thumbnail

Packit 4b6dd7
Packit 4b6dd7
  
Packit 4b6dd7
    
Packit 4b6dd7
      
Packit 4b6dd7
        
1
Packit 4b6dd7
2
Packit 4b6dd7
3
Packit 4b6dd7
4
Packit 4b6dd7
5
Packit 4b6dd7
6
Packit 4b6dd7
7
Packit 4b6dd7
8
Packit 4b6dd7
9
Packit 4b6dd7
10
Packit 4b6dd7
11
Packit 4b6dd7
12
Packit 4b6dd7
13
Packit 4b6dd7
14
Packit 4b6dd7
15
Packit 4b6dd7
16
Packit 4b6dd7
17
Packit 4b6dd7
18
Packit 4b6dd7
19
Packit 4b6dd7
20
Packit 4b6dd7
21
Packit 4b6dd7
22
Packit 4b6dd7
23
Packit 4b6dd7
24
Packit 4b6dd7
25
Packit 4b6dd7
26
Packit 4b6dd7
27
Packit 4b6dd7
        
GDataDocumentsService *service;
Packit 4b6dd7
const gchar *thumbnail_uri;
Packit 4b6dd7
GCancellable *cancellable;
Packit 4b6dd7
GdkPixbuf *pixbuf;
Packit 4b6dd7
GError *error = NULL;
Packit 4b6dd7
Packit 4b6dd7
service = get_my_documents_service ();
Packit 4b6dd7
thumbnail_uri = gdata_documents_document_get_thumbnail_uri (my_document);
Packit 4b6dd7
cancellable = g_cancellable_new ();
Packit 4b6dd7
Packit 4b6dd7
/* Prepare a download stream */
Packit 4b6dd7
download_stream = GDATA_DOWNLOAD_STREAM (gdata_download_stream_new (GDATA_SERVICE (service), NULL, thumbnail_uri, cancellable));
Packit 4b6dd7
Packit 4b6dd7
/* Download into a new GdkPixbuf. This can be cancelled using 'cancellable'. */
Packit 4b6dd7
pixbuf = gdk_pixbuf_new_from_stream (G_INPUT_STREAM (download_stream), NULL, &error);
Packit 4b6dd7
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    /* Handle the error. */
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
}
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (download_stream);
Packit 4b6dd7
g_object_unref (cancellable);
Packit 4b6dd7
Packit 4b6dd7
/* Do something with the GdkPixbuf. */
Packit 4b6dd7
Packit 4b6dd7
g_object_unref (pixbuf);
Packit 4b6dd7
      
Packit 4b6dd7
    
Packit 4b6dd7
  
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7

Parameters

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

self

Packit 4b6dd7

a GDataDocumentsDocument

Packit 4b6dd7
 
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Returns

Packit 4b6dd7

the URI of the document's thumbnail, or NULL.

Packit 4b6dd7

[allow-none]

Packit 4b6dd7
Packit 4b6dd7

Since: 0.13.1

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Types and Values

Packit 4b6dd7
Packit 4b6dd7

GDataDocumentsDocument

Packit 4b6dd7
typedef struct _GDataDocumentsDocument GDataDocumentsDocument;
Packit 4b6dd7

All the fields in the GDataDocumentsDocument structure are private and should never be accessed directly.

Packit 4b6dd7

Since: 0.7.0

Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7

GDataDocumentsDocumentClass

Packit 4b6dd7
typedef struct {
Packit 4b6dd7
} GDataDocumentsDocumentClass;
Packit 4b6dd7
Packit 4b6dd7

All the fields in the GDataDocumentsDocumentClass structure are private and should never be accessed directly.

Packit 4b6dd7

Since: 0.7.0

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Generated by GTK-Doc V1.26.1
Packit 4b6dd7
</body>
Packit 4b6dd7
</html>