首页 > 解决方案 > OneDrive API 与 Unity 3D 的集成

问题描述

我想知道是否可以将 OneDrive API 直接与 Unity 3D 集成。我正在尝试使用 C# 将图像文件上传到 OneDrive 帐户,但 Microsoft 的文档没有提到如何实现这一点。

标签: c#apiunity3donedrivefileshare

解决方案


一个驱动器仅提供可用于Web 请求的REST API

假设您已登录并且您有会话令牌和密钥以及来自 API 的 OneDrive URL,您可以使用 PUT 请求: PUT /drives/{drive-id}/items/{parent-id}:/{filename}:/content上传图像

void Start() {
    StartCoroutine(Upload());
}

IEnumerator Upload() {
    byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
    UnityWebRequest www = UnityWebRequest.Put("ttps://api.onedrive.com/v1.0/drives/{drive-id}/items/{parent-id}:/{filename}:/content", myData);
    //add to www object all header data with session token and content type
    yield return www.SendWebRequest();

    if(www.isNetworkError || www.isHttpError) {
        Debug.Log(www.error);
    }
    else {
        Debug.Log("Upload complete!");
    }
}

您也可以尝试社区制作的 C# 插件,如下所示:https ://github.com/OneDrive/onedrive-sdk-csharp但他们已经 3 年没有发布更改了,所以它现在可能不再起作用了


推荐阅读