Google云端硬盘插入文件权限

时间:2016-07-13 09:51:50

标签: c# rest google-drive-api google-oauth

我无法使用此代码插入文件的权限:

string URI = String.Format("https://www.googleapis.com/drive/v2/files/{0}/permissions&access_token={1}", fileId, "token");

var request = (HttpWebRequest)HttpWebRequest.Create(URI);
request.Method = "POST";
request.ContentType = "application/json"; 

string json = "{\"role\": \"reader\",\"type\": \"anyone\"}";

byte[] byteData = new System.Text.ASCIIEncoding().GetBytes(json);

request.ContentLength = byteData.Length;
using (var dataStream = request.GetRequestStream())
{
    dataStream.Write(byteData, 0, byteData.Length);
}

var response = (HttpWebResponse)request.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream()))
{
    json = reader.ReadToEnd();
}

我收到404错误。有什么问题?

1 个答案:

答案 0 :(得分:0)

string URI = String.Format("https://www.googleapis.com/drive/v2/files/{0}/permissions&access_token={1}", fileId, "token");

访问令牌不是字符串"令牌" 它必须是拥有该文件的用户的有效访问令牌。

<强>更新

permissions?access_token={1}", 

您应该使用?而不是&向网址添加参数。甚至不确定你是否可以像使用HTTP Post那样做。

添加信息:

  1. 如果这不仅仅是您的错字,您可能需要阅读Authorization一点
  2. 我还建议您查看Google客户端库,而不是自己编写。 Google.Apis.Drive.v2 Client Library
  3. 您可能也有兴趣查看较新版本的Google云端硬盘API,而不是为较旧版本的API编写新代码。 Google Drive API v3