C# 无法使用Box API V2创建共享链接
更新:我找到了答案,并将答案发布在下面 我要做的就是更新任何文件属性。描述,名字,任何东西,但无论我如何格式化它,我得到一个403 我需要能够修改一个文件,以便它可以通过云应用程序的Box API共享。我正在从V1更新其他人的代码,但它们不再可用。。。我尝试了很多方法,但大部分都只得到了403个禁止的错误 OAuth2没有问题,工作正常,我可以列出文件和文件夹,但不能修改它们。这个问题是关于分享的,但我也不能改变描述。box帐户是我的,我使用管理员凭据进行身份验证。如有任何建议,将不胜感激 这是我正在使用的方法。我传入了fileId和token,为了简洁起见,我省略了try/catch等C# 无法使用Box API V2创建共享链接,c#,.net,cloud,box-api,C#,.net,Cloud,Box Api,更新:我找到了答案,并将答案发布在下面 我要做的就是更新任何文件属性。描述,名字,任何东西,但无论我如何格式化它,我得到一个403 我需要能够修改一个文件,以便它可以通过云应用程序的Box API共享。我正在从V1更新其他人的代码,但它们不再可用。。。我尝试了很多方法,但大部分都只得到了403个禁止的错误 OAuth2没有问题,工作正常,我可以列出文件和文件夹,但不能修改它们。这个问题是关于分享的,但我也不能改变描述。box帐户是我的,我使用管理员凭据进行身份验证。如有任何建议,将不胜感激 这是
string uri = string.Format("https://api.box.com/2.0/files/{0}", fileId);
string body = "{\"shared_link\": {\"access\": \"open\"}}";
byte[] postArray = Encoding.ASCII.GetBytes(body);
using (var client = new WebClient())
{
client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
client.Headers.Add("Authorization: Bearer " + token);
var response = client.UploadData(uri, postArray);
var responseString = Encoding.Default.GetString(response);
}
谢谢。尝试将内容类型更改为“多部分/表单数据”吗 我只是在以下位置查找api: 看起来服务器需要一个多部分post 以下是关于发布多部分数据的堆栈溢出post:
好吧,我的荷马·辛普森时刻 上传数据是一个帖子,我需要做一个PUT。这是解决办法
string uri = String.Format(UriFiles, fileId);
string response = string.Empty;
string body = "{\"shared_link\": {\"access\": \"open\"}}";
byte[] postArray = Encoding.ASCII.GetBytes(body);
try
{
using (var client = new WebClient())
{
client.Headers.Add("Authorization: Bearer " + token);
client.Headers.Add("Content-Type", "application/json");
response = client.UploadString(uri, "PUT", body);
}
}
catch (Exception ex)
{
return null;
}
return response;
谢谢你的回复。是的,我看过文件。我所要做的就是:curl \-H“Authorization:Bearer ACCESS \-u TOKEN”\-d'{“name”:“new name.jpg”}\-X PUT,如果我放入multipart/form data或application/json,我仍然会得到403。