Google 驱动器插入文件权限

Google Drive insert file permission

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

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 错误。有什么问题?

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

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

更新:

permissions?access_token={1}", 

您应该使用 ? 而不是 & 来向 url 添加参数。甚至不确定您是否可以使用 HTTP Post.

添加信息:

  1. 如果这不仅仅是您的拼写错误,您可能需要稍微阅读一下 Authorization
  2. 我还建议您查看 Google 客户端库,而不是自己编写。 Google.Apis.Drive.v2 Client Library
  3. 有更新版本的 Google 驱动器 API 您可能也有兴趣查看而不是为旧版本的 API 编写新代码。 Google Drive API v3.