Visual FoxPro Google Drive: Generate a Set of File IDs

Back to Index

Generates a set of file IDs which can be provided in create requests.

Documentation: https://developers.google.com/drive/v3/reference/files/generateIds


LOCAL loRest
LOCAL lnSuccess
LOCAL loOauth2
LOCAL loSbJson
LOCAL loJson
LOCAL lcKind
LOCAL lcSpace
LOCAL i
LOCAL lnCount_i
LOCAL lcStrVal

loRest = CreateObject('Chilkat_9_5_0.Rest')

*   Provide a previously obtained OAuth2 access token.
loOauth2 = CreateObject('Chilkat_9_5_0.OAuth2')
loOauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
loRest.SetAuthOAuth2(loOauth2)

lnSuccess = loRest.Connect("www.googleapis.com",443,1,1)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loOauth2
    CANCEL
ENDIF

loRest.AddQueryParam("count","20")
loRest.AddQueryParam("space","drive")

loSbJson = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/drive/v3/files/generateIds",loSbJson)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loOauth2
    RELEASE loSbJson
    CANCEL
ENDIF

IF (loRest.ResponseStatusCode <> 200) THEN
    ? "Received error response code: " + STR(loRest.ResponseStatusCode)
    ? "Response body:"
    ? loSbJson.GetAsString()
    RELEASE loRest
    RELEASE loOauth2
    RELEASE loSbJson
    CANCEL
ENDIF

loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.LoadSb(loSbJson)

*  The following code parses the JSON response.
*  A sample JSON response is shown below the sample code.

lcKind = loJson.StringOf("kind")
lcSpace = loJson.StringOf("space")
i = 0
lnCount_i = loJson.SizeOfArray("ids")
DO WHILE i < lnCount_i
    loJson.I = i
    lcStrVal = loJson.StringOf("ids[i]")
    i = i + 1
ENDDO

? "Example Completed."

RELEASE loRest
RELEASE loOauth2
RELEASE loSbJson
RELEASE loJson

Sample JSON Response Body

{
  "kind": "drive#generatedIds",
  "space": "drive",
  "ids": [
    "1IT3VaUqXuF4l_4UKAFSmmC0em6kwlkle",
    "1dX50zZmgzwDUonE_GI59oTF1D7RRYD3o",
    "1eH17RULdRXu03inCaNuSeYkNwPS2nfUZ",
    "1jXHKTHe6LazdWV0wPl8xAeHEoo_ZMBVt",
    "1eBH9E3XDEczuUyfeOXT4Abq8S343qt5r",
    "1R3okvS4vI1f1Psg0IJJ3dIhVQsv9SNyY",
    "1rrh7NzGCgK0gYFlHC3IUdqQjcsVInN76",
    "1glhBVDGFgS-61B_l0HaHBGiMRwyhuzp_",
    "1gou1y4Mrq_ETHW7-GMV53e2jlhnze_2A",
    "1KSUwFR7E9iDxpcLO8_hr6nnLUXGR0kAY",
    "1pWt-cW7IBeEyGAkOxu8Q1KUpoHCkjGB2",
    "1nnuZfxcmvq_nmHDKZLvKfohYFbs2X1q_",
    "1rCGGTlP9aU9KNj_Qnt1a4ea3WdbV3NGk",
    "1pLDQjyeBQvYOehHvW9mfzRzMp6yA-HOZ",
    "1Ea-LO9eiwRlgJ-XvpFRxZUje1kFwaEBq",
    "1nXtRHiCcIhXtY3YVcKmArlrljM2eLoGp",
    "1g1VldY1fC3-w0JPycgUOU1mC524r5AHH",
    "1lh1cKumE6jMc-FTfPk7y0V3jqzGydzyQ",
    "1ZPdHqv3NI8tdVJ2k_XBr8cpkJYuq1E6c",
    "1bxfXQmmrOUCnkZJogavDd6CF0eMSAzo9"
  ]
}