manpagez: man pages & more
html files: gdata
Home | html | info | man

GDataDocumentsSpreadsheet

GDataDocumentsSpreadsheet — GData Documents spreadsheet object

Stability Level

Stable, unless otherwise indicated

Object Hierarchy

    GObject
    ╰── GDataParsable
        ╰── GDataEntry
            ╰── GDataDocumentsEntry
                ╰── GDataDocumentsDocument
                    ╰── GDataDocumentsSpreadsheet

Implemented Interfaces

GDataDocumentsSpreadsheet implements GDataAccessHandler.

Includes

#include <gdata/services/documents/gdata-documents-spreadsheet.h>

Description

GDataDocumentsSpreadsheet is a subclass of GDataDocumentsDocument to represent a spreadsheet from Google Documents.

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

online documentation.

Example 37. Downloading a Specific Sheet of a Spreadsheet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
GDataDocumentsService *service;
GDataDocumentsSpreadsheet *spreadsheet;
GFile *destination_file;
guint gid;
gchar *download_uri;
GDataDownloadStream *download_stream;
GFileOutputStream *output_stream;
GError *error = NULL;

/* Create a service and retrieve the spreadsheet and sheet index (GID) to download and the file to save the download in */
service = create_youtube_service ();
spreadsheet = get_document_to_download (service);
destination_file = query_user_for_destination_file (spreadsheet);
gid = query_user_for_gid (spreadsheet);

/* Create the download stream */
download_uri = gdata_documents_spreadsheet_get_download_uri (spreadsheet, GDATA_DOCUMENTS_SPREADSHEET_CSV, gid);
download_stream = GDATA_DOWNLOAD_STREAM (gdata_download_stream_new (service, gdata_documents_service_get_spreadsheet_authorization_domain (),
                                                                    download_uri, NULL));
g_free (download_uri);

g_object_unref (spreadsheet);
g_object_unref (service);

/* Create the file output stream */
output_stream = g_file_replace (destination_file, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error);

g_object_unref (destination_file);

if (error != NULL) {
    g_error ("Error creating destination file: %s", error->message);
    g_error_free (error);
    g_object_unref (download_stream);
    return;
}

/* Download the document. This should almost always be done asynchronously. */
g_output_stream_splice (G_OUTPUT_STREAM (output_stream), G_INPUT_STREAM (download_stream),
                        G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, NULL, &error);

g_object_unref (output_stream);
g_object_unref (download_stream);

if (error != NULL) {
    g_error ("Error downloading spreadsheet: %s", error->message);
    g_error_free (error);
    return;
}

Functions

gdata_documents_spreadsheet_new ()

GDataDocumentsSpreadsheet *
gdata_documents_spreadsheet_new (const gchar *id);

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

Parameters

id

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

[allow-none]

Returns

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

[transfer full]

Since: 0.4.0


gdata_documents_spreadsheet_get_download_uri ()

gchar *
gdata_documents_spreadsheet_get_download_uri
                               (GDataDocumentsSpreadsheet *self,
                                const gchar *export_format,
                                gint gid);

Builds and returns the download URI for the given GDataDocumentsSpreadsheet in the desired format. Note that directly downloading the document using this URI isn't possible, as authentication is required. You should instead use gdata_download_stream_new() with the URI, and use the resulting GInputStream.

When requesting a "csv", "tsv", "pdf" or

"html" file you may specify an additional parameter called gid which indicates which grid, or sheet, you wish to get

(the index is 0-based, so GID 1 actually refers to the second sheet on a given spreadsheet).

Parameters

self

a GDataDocumentsSpreadsheet

 

export_format

the format in which the spreadsheet should be exported when downloaded

 

gid

the 0-based sheet ID to download, or -1

 

Returns

the download URI; free with g_free()

Since: 0.5.0

Types and Values

GDATA_DOCUMENTS_SPREADSHEET_CSV

#define GDATA_DOCUMENTS_SPREADSHEET_CSV "csv"

The export format for Comma-Separated Values (CSV) format.

For more information, see the

GData protocol specification.

Since: 0.7.0


GDATA_DOCUMENTS_SPREADSHEET_HTML

#define GDATA_DOCUMENTS_SPREADSHEET_HTML "html"

The export format for HyperText Markup Language (HTML) format.

For more information, see the

GData protocol specification.

Since: 0.7.0


GDATA_DOCUMENTS_SPREADSHEET_ODS

#define GDATA_DOCUMENTS_SPREADSHEET_ODS "ods"

The export format for OpenDocument Spreadsheet (ODS) format.

For more information, see the

GData protocol specification.

Since: 0.7.0


GDATA_DOCUMENTS_SPREADSHEET_PDF

#define GDATA_DOCUMENTS_SPREADSHEET_PDF "pdf"

The export format for Portable Document Format (PDF).

For more information, see the

GData protocol specification.

Since: 0.7.0


GDATA_DOCUMENTS_SPREADSHEET_TSV

#define GDATA_DOCUMENTS_SPREADSHEET_TSV "tsv"

The export format for Tab-Separated Values (TSV) format.

For more information, see the

GData protocol specification.

Since: 0.7.0


GDATA_DOCUMENTS_SPREADSHEET_XLS

#define GDATA_DOCUMENTS_SPREADSHEET_XLS "xls"

The export format for Microsoft Excel spreadsheet (XLS) format.

For more information, see the

GData protocol specification.

Since: 0.7.0


GDataDocumentsSpreadsheet

typedef struct _GDataDocumentsSpreadsheet GDataDocumentsSpreadsheet;

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

Since: 0.4.0


GDataDocumentsSpreadsheetClass

typedef struct {
} GDataDocumentsSpreadsheetClass;

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

Since: 0.4.0

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.