UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

1,049 lines (985 loc) 38.2 kB
/// <reference path="microsoft-live-connect.d.ts" /> /** * From: http://msdn.microsoft.com/en-us/library/live/hh550838.aspx */ function createFolder_onClick() { var login_props: Microsoft.Live.ILoginProperties = { scope: "wl.skydrive_update" }; WL.login(login_props).then( function (response) { var newFolder: Microsoft.Live.INewFolder = { "name": "This is a new folder", "description": "A new folder" }, api_properties: Microsoft.Live.IAPIProperties = { path: "me/skydrive", method: "POST", body: newFolder }; WL.api<Microsoft.Live.IFolder>(api_properties).then( function (response) { document.getElementById("infoArea").innerText = "Created folder. Name: " + response.name + ", ID: " + response.id; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoArea").innerText = "Error calling API: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IJSError) { document.getElementById("infoArea").innerText = "Error signing in: " + responseFailed.error_description; } ); } /** * From: http://msdn.microsoft.com/en-us/library/live/jj219386.aspx */ function downloadFile_onClick() { var picker = setupSavePicker(); picker.pickSaveFileAsync().then( function (file) { if (file && (file instanceof Windows.Storage.StorageFile)) { WL.login({ scope: "wl.skydrive" }).then( function (response) { WL.backgroundDownload({ path: "file.8c8ce076ca27823f.8C8CE076CA27823F!129/picture?type=thumbnail", file_output: file }).then( function (response) { document.getElementById("infoLabel").innerText = "Downloaded file."; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoLabel").innerText = "Error calling API: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoLabel").innerText = "Error signing in: " + responseFailed.error.message; } ); } else { document.getElementById("infoLabel").innerText = "Cannot download file."; } }, function (fileFailed) { document.getElementById("infoLabel").innerText = "Cannot download file."; } ); } function setupSavePicker() { var savepicker = new Windows.Storage.Pickers.FileSavePicker(); savepicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary; // XXX: Type hack for other typings. Apparently string[] isn't an IVector. (<any>savepicker.fileTypeChoices).insert("Picture", [".jpg"]); return savepicker; } /** * From: http://msdn.microsoft.com/en-us/library/live/jj219387.aspx */ function uploadFile_onClick() { var picker = setupOpenPicker(); var filePickOp = picker.pickSingleFileAsync().then( function (file) { WL.login({ scope: "wl.skydrive_update" }).then( function (response) { WL.backgroundUpload({ path: "me/skydrive", file_name: file.name, file_input: file, overwrite: "rename" }).then( function (response) { document.getElementById("infoLabel").innerText = "Uploaded file."; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoLabel").innerText = "Error calling API: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoLabel").innerText = "Error signing in: " + responseFailed.error.message; } ); }, function (fileFailed) { document.getElementById("infoLabel").innerText = "Cannot upload file."; } ); } function setupOpenPicker() { var openpicker = new Windows.Storage.Pickers.FileOpenPicker(); openpicker.fileTypeFilter.replaceAll(["*"]); return openpicker; } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550839.aspx */ function downloadFile() { WL.login({ scope: "wl.skydrive" }).then( function (response) { WL.download({ path: "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!131/content" }).then( function (response) { // Will not be called for web apps. }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error downloading file: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error signing in: " + responseFailed.error.message; } ); } WL.Event.subscribe("auth.login", function () { }); WL.Event.unsubscribe("auth.logout"); /** * From: http://msdn.microsoft.com/en-us/library/live/jj219389.aspx */ function uploadFile_fileDialog() { WL.fileDialog({ mode: "save" }).then( function (response) { WL.upload({ path: response.data.folders[0].id, element: "file", overwrite: "rename" }).then( function (response) { document.getElementById("info").innerText = "File uploaded."; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error uploading file: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error getting folder info: " + responseFailed.error.message; } ); } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550842.aspx */ function loginStatus() { WL.getLoginStatus(function (response) { alert("Your status is: " + response.status) }); } /** * From http://msdn.microsoft.com/en-us/library/live/hh550843.aspx */ function onSessionChange() { var session = WL.getSession(); if (session) { document.getElementById("infoLabel").innerText = "Something about the session changed."; } else { document.getElementById("infoLabel").innerText = "Signed out or session error."; } } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550844.aspx */ WL.init({ client_id: "APP_CLIENT_ID", redirect_uri: "REDIRECT_URL", scope: "wl.signin", response_type: "token" }); WL.init({ scope: "wl.signin" }); /** * From: http://msdn.microsoft.com/en-us/library/live/hh550845.aspx */ function streamlineAccountReg_onClick() { WL.login({ scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails"] }).then( function (response) { WL.api<Microsoft.Live.IUser>({ path: "me", method: "GET" }).then( function (response) { document.getElementById("first_name").innerText = response.first_name; document.getElementById("last_name").innerText = response.last_name; document.getElementById("email").innerText = response.emails.preferred; document.getElementById("gender").innerText = response.gender; document.getElementById("birthday").innerText = response.birth_month + " " + response.birth_day + " " + response.birth_year; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("infoArea").innerText = "Error calling API: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IJSError) { document.getElementById("infoArea").innerText = "Error signing in: " + responseFailed.error_description; } ); } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550846.aspx */ function signUserOut() { WL.logout(); } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550847.aspx */ var signInProps: Microsoft.Live.ISignInProperties = { name: "signin", element: "signin" }; WL.ui(signInProps); var skyDriveProps: Microsoft.Live.ISkyDrivePickerProperies = { name: "skydrivepicker", element: "uploadFile_div", mode: "save", onselected: onUploadFileCompleted, onerror: onUploadFileError }; WL.ui(skyDriveProps); function onUploadFileCompleted(response: Microsoft.Live.IFilePickerResult) { WL.upload({ path: response.data.folders[0].id, element: "file", overwrite: "rename" }).then( function (response) { document.getElementById("info").innerText = "File uploaded."; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error uploading file: " + responseFailed.error.message; } ); }; function onUploadFileError(response: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error getting folder info: " + response.error.message; } skyDriveProps = { name: "skydrivepicker", element: "downloadFile_div", mode: "open", select: "multi", onselected: onDownloadFileCompleted, onerror: onDownloadFileError }; WL.ui(skyDriveProps); function onDownloadFileCompleted(response: Microsoft.Live.IFilePickerResult) { var msg = "", folder: number, file: number; // For each folder selected... if (response.data.folders.length > 0) { for (folder = 0; folder < response.data.folders.length; folder++) { // Use folder IDs to iterate through child folders and files as needed. msg += "\n" + response.data.folders[folder].id; } } // For each file selected... if (response.data.files.length > 0) { for (file = 0; file < response.data.files.length; file++) { // Use file IDs to iterate through files as needed. msg += "\n" + response.data.files[file].id; } } document.getElementById("info").innerText = "Selected folders/files:" + msg; }; function onDownloadFileError(responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error getting folder/file info: " + responseFailed.error.message; } /** * From: http://msdn.microsoft.com/en-us/library/live/hh550848.aspx */ function uploadFile() { WL.login({ scope: "wl.skydrive_update" }).then( function (response) { WL.upload({ path: "folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!170", element: "file", overwrite: "rename" }).then( function (response) { document.getElementById("info").innerText = "File uploaded."; }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error uploading file: " + responseFailed.error.message; } ); }, function (responseFailed: Microsoft.Live.IError) { document.getElementById("info").innerText = "Error signing in: " + responseFailed.error.message; } ); } //#region From: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx /** * This region contains REST object examples, and verifies that they pass * type checking. */ var albumCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IAlbum> = { "data": [ { "id": "album.8c8ce076ca27823f.8C8CE076CA27823F!126", "from": { "name": "Roberto Tamburello", "id": "8c8ce076ca27823f" }, "name": "My Sample Album 1", "description": "", "parent_id": "folder.de57f4126ed7e411", "upload_location": "https://apis.live.net/v5.0/folder.de57f4126ed7e411.DE57F4126ED7E411!126/files/", "is_embeddable": true, "count": 4, "link": "https://cid-8c8ce076ca27823f.skydrive.live.com/redir.aspx?page\u003dself\u0026resid\u003d8C8CE076CA27823F!126\u0026type\u003d5", "type": "album", "shared_with": { "access": "Everyone (public)" }, "created_time": "2011-04-21T23:19:47+0000", "updated_time": "2011-04-22T19:18:12+0000", // XXX: The API example documentation missed this property, but it has been wrong in the past... "client_updated_time": "2011-04-22T19:18:12+0000", } ] }; var newAlbum: Microsoft.Live.INewAlbum = { "name": "Vacation 2011", "description": "Photos from our fun vacation." }; var audioCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IAudio> = { "data": [ { "id": "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!144", "from": { "name": "Stig Struve-Christensen", "id": "a6b2a7e8f2515e5e" }, "name": "SampleAudio.mp3", "description": null, "parent_id": "folder.a6b2a7e8f2515e5e", "size": 8414449, "upload_location": "https://apis.live.net/v5.0/file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!144/content/", "comments_count": 0, "comments_enabled": false, "is_embeddable": false, "source": "http://storage.live.com/s1p60U8Xs4UzIXTScrTioalE-ZaVFiDQBA15MS2BwcsuNjfG64Z2fw-DAjXnPuqC47YR40_xAoPD8aRGhtna9ZFZ9_oO4BTz4CWF973DTXMxc5U3TntcQ9qEA/SampleAudio.mp3:Binary", "link": "https://skydrive.live.com/redir.aspx?cid\u003d22688711f5410e6c\u0026page\u003dview\u0026resid\u003d22688711F5410E6C!582\u0026parid\u003d22688711F5410E6C!581", "type": "audio", "title": "My Sample Audio", "artist": "My Favorite Artist", "album": "My Favorite Album", "album_artist": "My Favorite Artist", "genre": "Easy Listening", "duration": 225000, "picture": "https://storage.live.com/items/A6B2A7E8F2515E5E!144:MobileReady/SampleAudio.mp3?psid=1&ck=0&ex=720", "shared_with": { "access": "Just me" }, "created_time": "2012-09-23T22:00:57+0000", "updated_time": "2012-09-03T22:00:57+0000" } ] }; var newAudioResponse: Microsoft.Live.INewFileResponse = { "id": "ID of the new audio", "name": "The file's name and file extension", "source": "URL where the audio can be downloaded from" }; var newAudio: Microsoft.Live.INewAudio = { "name": "SampleAudioChanged.wav", "description": "Holiday Concert" }; var calendarCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.ICalendar> = { "data": [ { "id": "calendar.42d4dbc866f94c83849c88c6eb9985bc", "name": "Birthday calendar", "description": "If you have birthdays listed for your contacts, they'll appear on this calendar. You can add more birthdays, but you can't add other types of events.", "created_time": "2011-08-05T19:41:04+0000", "updated_time": "2011-08-05T19:41:04+0000", "from": { "name": null, "id": null }, "is_default": false, "subscription_location": null, "permissions": "read" } ] }; var newCalendar: Microsoft.Live.INewCalendar = { "name": "Summer Events", "summary": "Things we are doing this summer." }; var newCalendarSub: Microsoft.Live.INewCalendarSubscription = { "name": "Soccer League", "subscription_location": "ical.sharedcalendars.com/98754auv" }; var commentCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IComment> = { "data": [ { "id": "comment.22688711f5410e6c.22688711f0410e6c!818.22688711F5410E6C!979", "from": { "name": "Roberto Tamburello", "id": "8c8ce076ca27823f" }, "message": "A lighthouse built on some rocks.", "created_time": "2011-04-21T23:21:28+0000" } ] }; var newContact: Microsoft.Live.INewContact = { "first_name": "", "last_name": "", "emails": { "preferred": "", "personal": "", "business": "", "other": "" }, "work": [ { "employer": { "name": "" } } ] }; var contactCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IContact> = { "data": [ { "id": "contact.b4466224b2ca42798c3d4ea90c75aa56", "first_name": "Henrik", "last_name": "Jensen", "name": "Henrik Jensen", "is_friend": false, "is_favorite": false, "user_id": null, "email_hashes": [ "9ecdb19f4eb8e04304c5d1280368c42e85b6e4fe39f08b0c837ec592b905a620", "fc05492f50da6488aa14dcf221d395bcb29a4e43b43b250d60c68df4f831cad3" ], "updated_time": "2011-04-22T00:11:13+0000", "birth_day": 29, "birth_month": 3 } ] }; var errorObj: Microsoft.Live.IError = { "error": { "code": "request_token_expired", "message": "The provided access token has expired." } }; var eventI: Microsoft.Live.IEvent = { "id": "event.611afb17fa9448f28cdb8277e8ffeb77.e9f015000d0249ce847c5306a25d7d75", "name": "Global Project Risk Management Meeting", "description": "Generate and assess risks for the project", "calendar_id": "calendar.611afb17fa9448f28cdb8277e8ffeb77", "from": { "name": "William Flash", "id": "de57f4126ed7e411" }, "start_time": "2011-04-20T01:00:00+0000", "end_time": "2011-04-20T02:00:00+0000", "location": "Building 81, Room 9981, 123 Anywhere St., Redmond WA 19599", "is_all_day_event": false, "is_recurrent": false, "recurrence": null, "reminder_time": null, "availability": "busy", "visibility": "public", "created_time": "2011-03-14T23:01:31+0000", "updated_time": "2011-04-19T20:23:03+0000" }; var newEvent: Microsoft.Live.INewEvent = { "name": "Global Project Risk Management Meeting", "description": "Generate and assess risks for the project", "start_time": "2011-04-20T01:00:00-07:00", "end_time": "2011-04-20T02:00:00-07:00", "location": "Building 81, Room 9981, 123 Anywhere St., Redmond WA 19599", "is_all_day_event": false, "availability": "busy", "visibility": "public" }; var eventResponse: Microsoft.Live.INewEventResponse = { "name": "Global Project Risk Management Meeting", "description": "Generate and assess risks for the project", "start_time": "2011-04-20T01:00:00+0000", "end_time": "2011-04-20T02:00:00+0000", "location": "Building 81, Room 9981, 123 Anywhere St., Redmond WA 19599", "is_all_day_event": false, "is_recurrent": false, "recurrence": null, "reminder_time": null, "availability": "busy", "visibility": "public", "updated_time": "2011-04-19T20:23:03+0000" }; var file: Microsoft.Live.IObjectCollection<Microsoft.Live.IFile> = { "data": [ { "id": "file.22688711f5410e6c.22688711F5410E6C!942", "from": { "name": "William Flash", "id": "22688711f5410e6c" }, "name": "Processing.docx", "description": null, "parent_id": "folder.22688711f5410e6c.22688711F5410E6C!479", "size": 12692, "upload_location": "https://apis.live.net/v5.0/file.22688711f5410e6c.22688711F5410E6C!942/content/", "comments_count": 0, "comments_enabled": true, "is_embeddable": false, "source": "http://storage.live.com/s1pEwo9qzyT4_BJZqMNm-aVzgLo-WRsQGzjzFsXjyREuQG5pDYr237vKz3i2pmqFuniYPzsuIZAOCUMB_gdfKCUpLpVcaAMXGrk4T7jOWenRniCv9vex7GWfSvy-XCVBVnU/Processing.docx:Binary", "link": "https://skydrive-df.live.com/redir.aspx?cid\u003d22688711f5410e6c\u0026page\u003dview\u0026resid\u003d22688711F5410E6C!942\u0026parid\u003d22688711F5410E6C!479", "type": "file", "shared_with": { "access": "Everyone (public)" }, "created_time": "2011-10-12T23:18:23+0000", "updated_time": "2011-10-12T23:18:23+0000", // XXX: Not specified in example. Could be a bug in documentation, or maybe these are optional fields. "client_updated_time": "2011-10-12T23:18:23+0000", "sort_by": null } ] }; var fileDownload: Microsoft.Live.IFileDownloadLink = { "location": "..." }; var newFileResponse: Microsoft.Live.INewFileResponse = { "id": "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!184", "name":"MyNewFile.txt", "source": "http://storage.live.com/s1pasGKzgXFvuEQCbxGtOyIpboUVH1OCHoRzUJNDDwL0zVoidb0RRrNVk88hUrOEve5OMT7eCkuxPbop7dV9tMJQ-eE8SCQ28vFv9ZgPnDGwQMRm-0FeG3-KEY4HL9dQSw9/MyNewFile.txt:Binary,Default/MyNewFile.txt" }; var folderCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IFolder> = { "data": [ { "id": "folder.8c8ce076ca27823f.8C8CE076CA27823F!142", "from": { "name": "Roberto Tamburello", "id": "8c8ce076ca27823f" }, "name": "My Sample Folder in Album 1", "description": "", "parent_id": "folder.de57f4126ed7e411", "upload_location": "https://apis.live.net/v5.0/folder.de57f4126ed7e411.DE57F4126ED7E411!126/files/", "is_embeddable": true, "count": 3, "link": "https://cid-8c8ce076ca27823f.skydrive.live.com/redir.aspx?page\u003dself\u0026resid\u003d8C8CE076CA27823F!142\u0026parid\u003d8C8CE076CA27823F!126\u0026type\u003d5", "type": "folder", "shared_with": { "access": "Just me" }, "created_time": "2011-04-22T00:36:30+0000", "updated_time": "2011-04-22T19:18:12+0000", // XXX: Omitted in the example. "client_updated_time": "???", "sort_by": "???" } ] }; var newFolder: Microsoft.Live.INewFolder = { "name": "Informative Spreadsheets", "description": "A folder full of useful data visualizations." }; var friendCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IFriend> = { "data": [ { "id": "d09ea18fafc39a0c", "name": "Henrik Jensen" } ] }; var permissionsCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IPermissions> = { "data": [ { "wl.basic": 1, "wl.offline_access": 1, "wl.signin": 1 } ] }; var photoCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IPhoto> = { "data": [ { "id": "file.de57f4126ed7e411.DE57F4126ED7E411!128", "from": { "name": "Nuno Bento", "id": "de57f4126ed7e411" }, "name": "Maui-2012_0034.JPG", "description": null, "parent_id": "folder.de57f4126ed7e411.DE57F4126ED7E411!126", "size": 561683, "comments_count": 1, "comments_enabled": true, "tags_count": 0, "tags_enabled": true, "is_embeddable": true, "picture": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:Thumbnail", "source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:HighRes", "upload_location": "https://apis.live.net/v5.0/file.de57f4126ed7e411.DE57F4126ED7E411!128/content/", "images": [ { "height": 450, "width": 600, "source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:WebReady", "type": "normal" }, { "height": 132, "width": 176, "source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:MobileReady", "type": "album" }, { "height": 72, "width": 96, "source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:Thumbnail", "type": "thumbnail" }, { "height": 1200, "width": 1600, "source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:HighRes", "type": "full" } ], "link": "https://skydrive.live.com/redir.aspx?cid\u003dde57f4126ed7e411\u0026page\u003dview\u0026resid\u003dDE57F4126ED7E411!128\u0026parid\u003dDE57F4126ED7E411!126", "when_taken": "2008-03-24T23:41:53+0000", "height": 1200, "width": 1600, "type": "photo", "location": { "latitude": 47.65316, "longitude": -122.135911, "altitude": 43 }, "camera_make": "MyManufacturer", "camera_model": "MyModel", "focal_ratio": 2.8, "focal_length": 3.85, "exposure_numerator": 1, "exposure_denominator": 15, "shared_with": { "access": "Everyone (public)" }, "created_time": "2012-12-03T18:14:03+0000", "updated_time": "2012-12-03T18:31:01+0000" } ] }; var tag: Microsoft.Live.ITag = { "id": "tag.22688711f5410e6c.22688711f5410e6c!767.PRaXZrdHI1uYGQYi9CU0StrzHak", "user": { "name": "Roberto Tamburello", "id": "8c8ce076ca27823f" }, "x": 43.8986, "y": 54.4138, "created_time": "2011-04-22T01:17:00+0000" }; var user: Microsoft.Live.IUser = { "id": "8c8ce076ca27823f", "name": "Roberto Tamburello", "first_name": "Roberto", "last_name": "Tamburello", // XXX: Not in the REST API example, but is included in the WL.ui example. "gender": null, "link": "http://cid-8c8ce076ca27823f.profile.live.com/", "birth_day": 20, "birth_month": 4, "birth_year": 2010, "work": [ { "employer": { "name": "Microsoft Corporation" }, "position": { "name": "Software Development Engineer" } } ], "emails": { "preferred": "Roberto@contoso.com", "account": "Roberto@contoso.com", "personal": "Roberto@fabrikam.com", "business": "Robert@adatum.com", "other": "Roberto@adventure-works.com" }, "addresses": { "personal": { "street": "123 Main St.", "street_2": "Apt. A", "city": "Redmond", "state": "WA", "postal_code": "12990", "region": "United States" }, "business": { "street": "456 Anywhere St.", "street_2": "Suite 1", "city": "Redmond", "state": "WA", "postal_code": "12399", "region": "United States" } }, "phones": { "personal": "(555) 555-1212", "business": "(555) 111-1212", "mobile": null }, "locale": "en_US", "updated_time": "2011-04-21T23:55:34+0000" }; var videoCollection: Microsoft.Live.IObjectCollection<Microsoft.Live.IVideo> = { "data": [ { "id": "file.de57f4126ed7e411.DE57F4126ED7E411!135", "from": { "name": "Nuno Bento", "id": "de57f4126ed7e411" }, "name": "Wildlife.wmv", "description": null, "parent_id": "folder.de57f4126ed7e411.DE57F4126ED7E411!126", "size": 26246026, "comments_count": 0, "comments_enabled": true, "tags_count": 0, "tags_enabled": true, "is_embeddable": true, "picture": "http://storage.live.com/s1pKk5vzd-gdPaJ5Q1MKN34itsyRlUkAYzD_zsr0Dg-5r4bH8Qo8XRgsunA0M-V4G-XPpu1spowx4xwfjCuDcWQVa7aWld2WCdfeWjBK_coPqaQqzoE26BJP3OZAITB5i_DRPK8jK3ZLilSbNJd-onrOA/Wildlife.wmv:Thumbnail", "source": "http://storage.live.com/s1pKk5vzd-gdPaJ5Q1MKN34itsyRlUkAYzD_zsr0Dg-5r4bH8Qo8XRgsunA0M-V4G-XPpu1spowx4xwfjCuDcWQVa7aWld2WCdfeWjBK_coPqaQqzoE26BJP3OZAITB5i_DRPK8jK3ZLilSbNJd-onrOA/Wildlife.wmv:VideoMain", "upload_location": "https://apis.live.net/v5.0/file.de57f4126ed7e411.DE57F4126ED7E411!135/content/", "link": "https://skydrive.live.com/redir.aspx?cid\u003dde57f4126ed7e411\u0026page\u003dview\u0026resid\u003dDE57F4126ED7E411!135\u0026parid\u003dDE57F4126ED7E411!126", "height": 720, "width": 1280, "duration": 30093, "bitrate": 5942130, "type": "video", "shared_with": { "access": "Everyone (public)" }, "created_time": "2011-08-23T23:41:18+0000", "updated_time": "2011-08-23T23:41:32+0000" } ] }; //#endregion From: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx //#region From http://isdk.dev.live.com/dev/isdk/Default.aspx /** * The following code snippets were lifted from the Interactive Live SDK * sandbox. We only include snippets that exercise portions of the API not * already exercised above. */ function log(message: string) { var child = document.createTextNode(message); var parent = document.getElementById('JsOutputDiv') || document.body; parent.appendChild(child); parent.appendChild(document.createElement("br")); } function openFromSkyDrive() { WL.fileDialog({ mode: 'open', select: 'single' }).then( function (response) { log("The following file is being downloaded:"); log(""); var files = response.data.files; for (var i = 0; i < files.length; i++) { var file = files[i]; log(file.name); WL.download({ "path": file.id + "/content" }); } }, function (errorResponse) { log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse)); } ); } function saveToSkyDrive() { WL.fileDialog({ mode: 'save' }).then( function (response) { var folder = response.data.folders[0]; WL.upload<Microsoft.Live.IFile>({ path: folder.id, element: 'save-to-skydrive-file-input', overwrite: 'rename' }).then( function (response) { log("You saved to " + response.source + ". " + "Below is the result of the upload."); log(""); log(JSON.stringify(response)); }, function (errorResponse) { log("WL.upload errorResponse = " + JSON.stringify(errorResponse)); }, function (progress) { // progress events for the upload are raised here } ); }, function (errorResponse) { log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse)); } ); } function getFiles() { var files_path = "/me/skydrive/files"; WL.api<Microsoft.Live.IObjectCollection<Microsoft.Live.IObject>>({ path: files_path, method: "GET" }).then( onGetFilesComplete, function (response) { log("Cannot get files and folders: " + JSON.stringify(response.error).replace(/,/g, ",\n")); } ); } // should have an interface that captures the fact that it only has type. function onGetFilesComplete(response: Microsoft.Live.IObjectCollection<Microsoft.Live.IObject>) { var items = response.data; var foundFolder = 0; for (var i = 0; i < items.length; i++) { if (items[i].type === "folder") { log("Found a folder with the following information: " + JSON.stringify(items[i]).replace(/,/g, ",\n")); foundFolder = 1; break; } } if (foundFolder == 0) { log("Unable to find any folders"); } } function registerUser() { WL.api<Microsoft.Live.IUser>({ path: "/me", method: "GET" }).then( function (response) { fillRegistrationForm(response); }, function (response) { log("API call failed: " + JSON.stringify(response.error).replace(/,/g, "\n")); } ); } function fillRegistrationForm(user: Microsoft.Live.IUser) { // NOTE: Assign these values to your form elements to streamline registration. log("First name: " + user.first_name); log("Last name: " + user.last_name); log("Preferred email: " + user.emails.preferred); log("Gender: " + user.gender); log("Birthday: " + user.birth_month + "/" + user.birth_day + "/" + user.birth_year); } function showUserContactInfo() { WL.api<Microsoft.Live.IUser>({ path: "/me", method: "GET" }).then( function (response) { log("Addresses: " + JSON.stringify(response.addresses).replace(/,/g, "\n")); log("Phone Numbers: " + JSON.stringify(response.phones).replace(/,/g, "\n")); log("Email Addresses: " + JSON.stringify(response.emails).replace(/,/g, "\n")); }, function (response) { log("API call failed: " + JSON.stringify(response.error).replace(/,/g, "\n")); } ); } function enablePurchase() { var date = new Date(); var year = date.getFullYear(); WL.api<Microsoft.Live.IUser>({ path: "/me", method: "GET" }).then( function (response) { var user = response; if (year - user.birth_year >= 18) { log("Purchase enabled."); } else { log("Purchase disabled. You are only " + user.birth_year + " year(s) old."); } }, function (response) { log("API call failed: " + JSON.stringify(response.error).replace(/,/g, "\n")); } ); } function createContact() { var contact: Microsoft.Live.INewContact = { first_name: "William", last_name: "Flash" }; WL.api({ path: "/me/contacts", method: "POST", body: contact }).then( function (response) { log(JSON.stringify(response).replace(/,/g, ",\n")); }, function (response) { log("Cannot create contact: " + JSON.stringify(response.error).replace(/,/g, ",\n")); } ); } function createEvent() { var startTime = new Date(); var endTime = new Date(startTime.getTime() + (60 * 60 * 1000)); log("Start time: " + startTime); log("End time: " + endTime); var newEvent: Microsoft.Live.INewEvent = { name: "Family Dinner", description: "Dinner with Cynthia's family", start_time: startTime, end_time: endTime, location: "Coho Vineyard and Winery, 123 Main St., Redmond WA 98052", is_all_day_event: false, availability: "busy", visibility: "public" }; WL.api({ path: "/me/events", method: "POST", body: newEvent }).then( function (response) { log("Successfully created event. Response: " + JSON.stringify(response).replace(/,/g, "\n")); }, function (response) { log("Could not create event: " + JSON.stringify(response.error).replace(/,/g, "\n")); } ); } //#endregion From http://isdk.dev.live.com/dev/isdk/Default.aspx