OneDrive API与Uni​​ty 3D的集成

问题描述

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

解决方法

一个驱动器仅提供REST API,您可以将其与Web Requests一起使用

假设您已登录,并且具有会话令牌和密钥以及来自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年没有发布更改了,因此现在可能已经可以工作了

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...