Visual FoxPro
Visual FoxPro
Retrieve the metadata for a DriveItem
See more OneDrive Examples
Fetches the JSON metadata for a DriveItem.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loJson
LOCAL loHttp
LOCAL lcMetaData
LOCAL lcOdata_context
LOCAL lcMicrosoft_graph_downloadUrl
LOCAL lcCreatedDateTime
LOCAL lcCTag
LOCAL lcETag
LOCAL lcId
LOCAL lcLastModifiedDateTime
LOCAL lcName
LOCAL lnSize
LOCAL lcWebUrl
LOCAL lnRatingRating
LOCAL lnRatingSimpleRating
LOCAL lcCreatedByUserDisplayName
LOCAL lcCreatedByUserId
LOCAL lcLastModifiedByUserDisplayName
LOCAL lcLastModifiedByUserId
LOCAL lcParentReferenceDriveId
LOCAL lcParentReferenceDriveType
LOCAL lcParentReferenceId
LOCAL lcParentReferenceName
LOCAL lcParentReferencePath
LOCAL lcFileMimeType
LOCAL lcFileHashesSha1Hash
LOCAL lcFileSystemInfoCreatedDateTime
LOCAL lcFileSystemInfoLastModifiedDateTime
LOCAL lnImageHeight
LOCAL lnImageWidth
LOCAL lcPhotoTakenDateTime
LOCAL lcSharedScope
LOCAL lcSharedOwnerUserDisplayName
LOCAL lcSharedOwnerUserId
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
* Use your client ID, client secret, and tenant ID in the following lines
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("client_id","2871da2c-8176-4b7f-869b-2311aa82e743")
loJson.UpdateString("client_secret","2hu9Q~r5QuryUcEkNbg1btLtnfU1VUXzhSCG6brH")
loJson.UpdateString("scope","https://graph.microsoft.com/.default")
loJson.UpdateString("token_endpoint","https://login.microsoftonline.com/114d7ed6-71bf-4dbe-a866-748364121bf2/oauth2/v2.0/token")
loHttp = CreateObject('Chilkat.Http')
loHttp.AuthToken = loJson.Emit()
* Sends the following GET request:
* GET https://graph.microsoft.com/v1.0/users/{user-id}/drive/root:/{item-path}
* Make sure to automatically follow redirects
loHttp.FollowRedirects = 1
* This example will get the metadata for /Misc/wildlife/penguins.jpg
loHttp.SetUrlVar("item_path","Misc//penguins.jpg")
loHttp.SetUrlVar("user_id","4fe732c3-322e-4a6b-b729-2fd1eb5c6104")
lcMetaData = loHttp.QuickGetStr("https://graph.microsoft.com/v1.0/users/{$user_id}/drive/root:/{$item_path}")
IF (loHttp.LastMethodSuccess <> 1) THEN
? loHttp.LastErrorText
RELEASE loJson
RELEASE loHttp
CANCEL
ENDIF
loJson.EmitCompact = 0
lnSuccess = loJson.Load(lcMetaData)
? loJson.Emit()
* Sample JSON metadata result:
* {
* "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin%40chilkat.io')/drive/root/$entity",
* "@microsoft.graph.downloadUrl": "https://public.dm.files.1drv.com/y4mh0z_Og97O7Q...o2q1HhNBU",
* "createdDateTime": "2017-06-04T20:40:22.48Z",
* "cTag": "aYzozQTMzRkNFQjlCNzRDQzE1ITQ4NzIuMjU3",
* "eTag": "aM0EzM0ZDRUI5Qjc0Q0MxNSE0ODcyLjY",
* "id": "3A33FCEB9B74CC15!4872",
* "lastModifiedDateTime": "2018-10-20T18:22:29.977Z",
* "name": "penguins.jpg",
* "size": 777835,
* "webUrl": "https://1drv.ms/i/s!ABXMdJvr_DM6pgg",
* "rating": {
* "rating": 75,
* "simpleRating": 4
* },
* "createdBy": {
* "user": {
* "displayName": "Joe Programmer",
* "id": "3a33fceb9b74cc15"
* }
* },
* "lastModifiedBy": {
* "user": {
* "displayName": "Joe Programmer",
* "id": "3a33fceb9b74cc15"
* }
* },
* "parentReference": {
* "driveId": "3a33fceb9b74cc15",
* "driveType": "personal",
* "id": "3A33FCEB9B74CC15!4871",
* "name": "wildlife",
* "path": "/drive/root:/Misc/wildlife"
* },
* "file": {
* "mimeType": "image/jpeg",
* "hashes": {
* "sha1Hash": "DF7BE9DC4F467187783ACA68C7CE98E4DF2172D0"
* }
* },
* "fileSystemInfo": {
* "createdDateTime": "2017-06-04T20:40:22.48Z",
* "lastModifiedDateTime": "2009-07-14T05:32:31.674Z"
* },
* "image": {
* "height": 768,
* "width": 1024
* },
* "photo": {
* "takenDateTime": "2008-02-18T05:07:31Z"
* },
* "shared": {
* "scope": "users",
* "owner": {
* "user": {
* "displayName": "Joe Programmer",
* "id": "3a33fceb9b74cc15"
* }
* }
* }
* }
*
* If the response status code was not 200, then it failed.
IF (loHttp.LastStatus <> 200) THEN
? "Response Status Code = " + STR(loHttp.LastStatus)
? "Failed."
RELEASE loJson
RELEASE loHttp
CANCEL
ENDIF
* Demonstrate how to parse the JSON...
lcOdata_context = loJson.StringOf('"@odata.context"')
lcMicrosoft_graph_downloadUrl = loJson.StringOf('"@microsoft.graph.downloadUrl"')
lcCreatedDateTime = loJson.StringOf("createdDateTime")
lcCTag = loJson.StringOf("cTag")
lcETag = loJson.StringOf("eTag")
lcId = loJson.StringOf("id")
lcLastModifiedDateTime = loJson.StringOf("lastModifiedDateTime")
lcName = loJson.StringOf("name")
lnSize = loJson.IntOf("size")
lcWebUrl = loJson.StringOf("webUrl")
lnRatingRating = loJson.IntOf("rating.rating")
lnRatingSimpleRating = loJson.IntOf("rating.simpleRating")
lcCreatedByUserDisplayName = loJson.StringOf("createdBy.user.displayName")
lcCreatedByUserId = loJson.StringOf("createdBy.user.id")
lcLastModifiedByUserDisplayName = loJson.StringOf("lastModifiedBy.user.displayName")
lcLastModifiedByUserId = loJson.StringOf("lastModifiedBy.user.id")
lcParentReferenceDriveId = loJson.StringOf("parentReference.driveId")
lcParentReferenceDriveType = loJson.StringOf("parentReference.driveType")
lcParentReferenceId = loJson.StringOf("parentReference.id")
lcParentReferenceName = loJson.StringOf("parentReference.name")
lcParentReferencePath = loJson.StringOf("parentReference.path")
lcFileMimeType = loJson.StringOf("file.mimeType")
lcFileHashesSha1Hash = loJson.StringOf("file.hashes.sha1Hash")
lcFileSystemInfoCreatedDateTime = loJson.StringOf("fileSystemInfo.createdDateTime")
lcFileSystemInfoLastModifiedDateTime = loJson.StringOf("fileSystemInfo.lastModifiedDateTime")
lnImageHeight = loJson.IntOf("image.height")
lnImageWidth = loJson.IntOf("image.width")
lcPhotoTakenDateTime = loJson.StringOf("photo.takenDateTime")
lcSharedScope = loJson.StringOf("shared.scope")
lcSharedOwnerUserDisplayName = loJson.StringOf("shared.owner.user.displayName")
lcSharedOwnerUserId = loJson.StringOf("shared.owner.user.id")
RELEASE loJson
RELEASE loHttp