Blame docs/reference/html/gdata-running.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>Running GData Applications: 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="pt01.html" title="Part I. GData Overview">
Packit 4b6dd7
<link rel="prev" href="gdata-overview.html" title="GData Overview">
Packit 4b6dd7
<link rel="next" href="ch01.html" title="Object Hierarchy">
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
Home
Packit 4b6dd7
Up
Packit 4b6dd7
Prev
Packit 4b6dd7
Next
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

Running GData Applications

Packit 4b6dd7

Running GData Applications — running and debugging GData applications

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

Running and Debugging GData Applications

Packit 4b6dd7
Packit 4b6dd7

Environment variables

Packit 4b6dd7

libgdata makes use of a few environment variables which affect how it runs, mainly with respect to debugging.

Packit 4b6dd7

LIBGDATA_DEBUGIf this environment variable is set to one of the following values, libgdata will give debug output

Packit 4b6dd7
					(at various levels). If it's unset, no debug output will be produced.
Packit 4b6dd7
					

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

0

Packit 4b6dd7

Output no debug messages or network logs.

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

1

Packit 4b6dd7

Output debug messages, but not network logs.

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

2

Packit 4b6dd7

Output debug messages and network traffic headers.

Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

3

Packit 4b6dd7

Output debug messages and full network traffic logs.

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

Packit 4b6dd7
				So, to debug a program which uses libgdata, run it from a terminal with the following command:

Packit 4b6dd7
$LIBGDATA_DEBUG=3 ./my-program-name &> libgdata.log
Packit 4b6dd7
Packit 4b6dd7

Packit 4b6dd7
Packit 4b6dd7

Debugging Advice

Packit 4b6dd7

The easiest way to debug problems with libgdata is to use the

Packit 4b6dd7
			      LIBGDATA_DEBUG environment variable to observe all the network
Packit 4b6dd7
			      traffic being transmitted and received by libgdata. Typically, any problems will occur in the final network
Packit 4b6dd7
			      request/response, which is the last one in the log output.

Packit 4b6dd7

If debugging using the environment variables and log output is not possible, it is sometimes possible to diagnose problems

Packit 4b6dd7
			      by examining the error responses sent by the Google servers to libgdata. These are exposed as the error messages returned
Packit 4b6dd7
			      by libgdata methods; so when handling errors from libgdata method calls, it is a good idea to output the message from
Packit 4b6dd7
			      the GError to a debug log, or even as a warning in the user's
Packit 4b6dd7
			      .xsession-errors file.

Packit 4b6dd7
Packit 4b6dd7

Example 1. Error Handling when Uploading 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
        
GDataUploadStream *upload_stream;
Packit 4b6dd7
GError *error = NULL; /* make sure to initialise the GError to NULL */
Packit 4b6dd7
Packit 4b6dd7
/* Other code goes here. */
Packit 4b6dd7
Packit 4b6dd7
upload_stream = gdata_documents_service_upload_document (service, document, slug, content_type, destination_folder, NULL,
Packit 4b6dd7
                                                         &error);
Packit 4b6dd7
Packit 4b6dd7
/* Handle any errors. */
Packit 4b6dd7
if (error != NULL) {
Packit 4b6dd7
    /* Note that the error message is outputted to the terminal/logs.
Packit 4b6dd7
     * It will contain important debugging information from the Google servers. */
Packit 4b6dd7
    g_error ("Error getting upload stream: %s", error->message);
Packit 4b6dd7
    g_error_free (error);
Packit 4b6dd7
Packit 4b6dd7
    return;
Packit 4b6dd7
}
Packit 4b6dd7
      
Packit 4b6dd7
    
Packit 4b6dd7
  
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7
Packit 4b6dd7

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

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