问题描述
我想知道是否可以将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年没有发布更改了,因此现在可能已经可以工作了