AutoIt
AutoIt
Retrieve the metadata for a DriveItem
See more OneDrive Examples
Fetches the JSON metadata for a DriveItem.Chilkat AutoIt Downloads
Local $bSuccess = False
; 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
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("client_id","2871da2c-8176-4b7f-869b-2311aa82e743")
$oJson.UpdateString("client_secret","2hu9Q~r5QuryUcEkNbg1btLtnfU1VUXzhSCG6brH")
$oJson.UpdateString("scope","https://graph.microsoft.com/.default")
$oJson.UpdateString("token_endpoint","https://login.microsoftonline.com/114d7ed6-71bf-4dbe-a866-748364121bf2/oauth2/v2.0/token")
$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AuthToken = $oJson.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
$oHttp.FollowRedirects = True
; This example will get the metadata for /Misc/wildlife/penguins.jpg
$oHttp.SetUrlVar("item_path","Misc//penguins.jpg")
$oHttp.SetUrlVar("user_id","4fe732c3-322e-4a6b-b729-2fd1eb5c6104")
Local $sMetaData = $oHttp.QuickGetStr("https://graph.microsoft.com/v1.0/users/{$user_id}/drive/root:/{$item_path}")
If ($oHttp.LastMethodSuccess <> True) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oJson.EmitCompact = False
$bSuccess = $oJson.Load($sMetaData)
ConsoleWrite($oJson.Emit() & @CRLF)
; 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 ($oHttp.LastStatus <> 200) Then
ConsoleWrite("Response Status Code = " & $oHttp.LastStatus & @CRLF)
ConsoleWrite("Failed." & @CRLF)
Exit
EndIf
; Demonstrate how to parse the JSON...
Local $sOdata_context = $oJson.StringOf("""@odata.context""")
Local $sMicrosoft_graph_downloadUrl = $oJson.StringOf("""@microsoft.graph.downloadUrl""")
Local $sCreatedDateTime = $oJson.StringOf("createdDateTime")
Local $sCTag = $oJson.StringOf("cTag")
Local $sETag = $oJson.StringOf("eTag")
Local $sId = $oJson.StringOf("id")
Local $sLastModifiedDateTime = $oJson.StringOf("lastModifiedDateTime")
Local $sName = $oJson.StringOf("name")
Local $iSize = $oJson.IntOf("size")
Local $sWebUrl = $oJson.StringOf("webUrl")
Local $iRatingRating = $oJson.IntOf("rating.rating")
Local $iRatingSimpleRating = $oJson.IntOf("rating.simpleRating")
Local $sCreatedByUserDisplayName = $oJson.StringOf("createdBy.user.displayName")
Local $sCreatedByUserId = $oJson.StringOf("createdBy.user.id")
Local $sLastModifiedByUserDisplayName = $oJson.StringOf("lastModifiedBy.user.displayName")
Local $sLastModifiedByUserId = $oJson.StringOf("lastModifiedBy.user.id")
Local $sParentReferenceDriveId = $oJson.StringOf("parentReference.driveId")
Local $sParentReferenceDriveType = $oJson.StringOf("parentReference.driveType")
Local $sParentReferenceId = $oJson.StringOf("parentReference.id")
Local $sParentReferenceName = $oJson.StringOf("parentReference.name")
Local $sParentReferencePath = $oJson.StringOf("parentReference.path")
Local $sFileMimeType = $oJson.StringOf("file.mimeType")
Local $sFileHashesSha1Hash = $oJson.StringOf("file.hashes.sha1Hash")
Local $sFileSystemInfoCreatedDateTime = $oJson.StringOf("fileSystemInfo.createdDateTime")
Local $sFileSystemInfoLastModifiedDateTime = $oJson.StringOf("fileSystemInfo.lastModifiedDateTime")
Local $imageHeight = $oJson.IntOf("image.height")
Local $imageWidth = $oJson.IntOf("image.width")
Local $sPhotoTakenDateTime = $oJson.StringOf("photo.takenDateTime")
Local $sharedScope = $oJson.StringOf("shared.scope")
Local $sharedOwnerUserDisplayName = $oJson.StringOf("shared.owner.user.displayName")
Local $sharedOwnerUserId = $oJson.StringOf("shared.owner.user.id")