Sample code for 30+ languages & platforms
Visual FoxPro

Get Task Lists

See more Google Tasks Examples

Demonstrates how to download the Google task lists.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loFac
LOCAL lcAccessToken
LOCAL loHttp
LOCAL loResp
LOCAL lcKind
LOCAL lcEtag
LOCAL i
LOCAL lnCount_i
LOCAL lcId
LOCAL lcTitle
LOCAL lcUpdated
LOCAL lcSelfLink
LOCAL loJson

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

* Get the previously obtained access token.
* See Get Google Tasks Access Token.

loFac = CreateObject('Chilkat.FileAccess')
lcAccessToken = loFac.ReadEntireTextFile("qa_data/tokens/googleTasks.txt","utf-8")
IF (loFac.LastMethodSuccess = 0) THEN
    ? loFac.LastErrorText
    RELEASE loFac
    CANCEL
ENDIF

loHttp = CreateObject('Chilkat.Http')

loHttp.AuthToken = lcAccessToken

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpNoBody("GET","https://www.googleapis.com/tasks/v1/users/@me/lists",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loFac
    RELEASE loHttp
    RELEASE loResp
    CANCEL
ENDIF

* Show the response body.
? loResp.BodyStr

* Examine the response status code.
? "response status code: " + STR(loResp.StatusCode)

* Use this online tool to generate parsing code from sample JSON: 
* Generate Parsing Code from JSON

loJson = CreateObject('Chilkat.JsonObject')
loJson.Load(loResp.BodyStr)

lcKind = loJson.StringOf("kind")
lcEtag = loJson.StringOf("etag")
i = 0
lnCount_i = loJson.SizeOfArray("items")
DO WHILE i < lnCount_i
    loJson.I = i
    lcKind = loJson.StringOf("items[i].kind")
    lcId = loJson.StringOf("items[i].id")
    lcTitle = loJson.StringOf("items[i].title")
    lcUpdated = loJson.StringOf("items[i].updated")
    lcSelfLink = loJson.StringOf("items[i].selfLink")
    i = i + 1
ENDDO

* Sample response:

* {
*  "kind": "tasks#taskLists",
*  "etag": "\"84_7Cubo3y98GMV9bE3zQclHxhc/cv_AS-HUP96xJ9bgP8Y2B8WGSpM\"",
*  "items": [
*   {
*    "kind": "tasks#taskList",
*    "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6MDow",
*    "title": "My Tasks",
*    "updated": "2019-04-04T17:42:52.000Z",
*    "selfLink": "https://www.googleapis.com/tasks/v1/users/@me/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6MDow"
*   },
*   {
*    "kind": "tasks#taskList",
*    "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6MzE3OTUxODY4OTU1MTEwMDow",
*    "title": "ccc",
*    "updated": "2019-04-04T17:15:19.000Z",
*    "selfLink": "https://www.googleapis.com/tasks/v1/users/@me/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6MzE3OTUxODY4OTU1MTEwMDow"
*   },
*   {
*    "kind": "tasks#taskList",
*    "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NDQ0NTA4MDYyNTY3OTEzMzow",
*    "title": "bbb",
*    "updated": "2019-04-04T17:15:02.000Z",
*    "selfLink": "https://www.googleapis.com/tasks/v1/users/@me/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NDQ0NTA4MDYyNTY3OTEzMzow"
*   },
*   {
*    "kind": "tasks#taskList",
*    "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow",
*    "title": "aaa",
*    "updated": "2019-04-04T17:13:17.000Z",
*    "selfLink": "https://www.googleapis.com/tasks/v1/users/@me/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow"
*   }
*  ]
* }
* 
* response status code: 200

RELEASE loFac
RELEASE loHttp
RELEASE loResp
RELEASE loJson