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

|
|
Packit |
4b6dd7 |

|
|
Packit |
4b6dd7 |

|
|
Packit |
4b6dd7 |

|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
Packit |
4b6dd7 |
service = create_documents_service ();
|
|
Packit |
4b6dd7 |
document = get_document (service);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
|
|
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 |
|
|
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 |
test@gmail.com
|
|
Packit |
4b6dd7 |
example@gmail.com
|
|
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 |
test@gmail.com
|
|
Packit |
4b6dd7 |
|
|
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 |
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 |
example@gmail.com
|
|
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 |
|
|
Packit |
4b6dd7 |
download_stream = GDATA_DOWNLOAD_STREAM (gdata_download_stream_new (GDATA_SERVICE (service), NULL, thumbnail_uri, cancellable));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
pixbuf = gdk_pixbuf_new_from_stream (G_INPUT_STREAM (download_stream), NULL, &error);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
if (error != NULL) {
|
|
Packit |
4b6dd7 |
|
|
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 |
|
|
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>
|