v1 API中有一个移动操作。
但是v2 Rest API有什么等效功能吗?V2中有复制功能,我尝试将其替换为move但没有爱,并且操作不允许错误或类似的内容:
curl https://api.box.com/2.0/files/FILE_ID/move \
-H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN" \
-d '{"parent": {"id" : FOLDER_ID}}' \
-X MOVE
Run Code Online (Sandbox Code Playgroud) 有没有办法在不知道他们的ID的情况下获取所有文件和文件夹?另外,如果我不知道协作ID,如何获取所有协作对象?
看起来这应该是一件简单的事情,但我找不到一个例子或足够详尽的文档来弄明白.
我有一个C#桌面应用程序,我想通过Box API与Box集成.我假设使用Box Windows SDK v2 for .NET将是最佳选择.
有人能指出一个适用于桌面应用程序的简单,简单的例子吗?
我正在寻找获取特定文件夹的所有文件的方法.
但我在官方文档中找不到足够的信息
我想这样的事情:(我还假设用access_token设置自定义标头)
https://api.box.com/2.0/search?query=*
Run Code Online (Sandbox Code Playgroud)
这种方式不起作用,我认为查询不接受正则表达式...
任何的想法?
PS:一个真正的用例将有助于理解这个问题:
我的文件夹:
folderOne:
|
|_file1.jpg
|
|_file2.doc
|
|_folder1
| |_file3.jpg
| |_folder2
|
|_file4.pdf
Run Code Online (Sandbox Code Playgroud)
与搜索请求我想到只拿到file1.jpg,file2.doc和file4.pdf.
我想确定我应该使用哪个版本的Box api.我的决定取决于v1 api的EOL时间表.我不想完成我的应用程序,在应用程序发布之前(或之后不久),v1 api退出工作.
我很乐意使用v2 api,但我正在编写一个C#应用程序.由于v1 api有一个C#SDK,因此使用api的v1会更方便(在短期内); 但就像我说的那样,我很担心v1 api的EOL.
我正在尝试使用rest api将文件上传到box.net.但我每次都会收到404错误.这里请求标题(来自fiddler).我犯错的地方?
POST https://api.box.com/2.0/files/content HTTP/1.1
Authorization: BoxAuth api_key={key}&auth_token={tokem}
Content-Type: multipart/form-data; boundary="13afaf22-f210-464b-bcc3-3cd3e4ed1617"
Host: api.box.com
Content-Length: 166
Expect: 100-continue
--13afaf22-f210-464b-bcc3-3cd3e4ed1617
Content-Disposition: form-data; filename=test.zip; folder_id=0
{empty line - I don't know why it here}
{bytes starting here}
--13afaf22-f210-464b-bcc3-3cd3e4ed1617--
Run Code Online (Sandbox Code Playgroud)
注意我正在使用c#,其HttpClient类和MultiPartFormDataContent作为内容源.
解决了:
问题解决了.请求标头和正文应如下所示:
POST https://api.box.com/2.0/files/content HTTP/1.1
Authorization: BoxAuth api_key={key}&auth_token={token}
Content-Type: multipart/form-data; boundary="d174f29b-6def-47db-8519-3da38b21b398"
Host: api.box.com
Content-Length: 314
Expect: 100-continue
--d174f29b-6def-47db-8519-3da38b21b398
Content-Disposition: form-data; filename="hello.txt"; name="filename"
Content-Type: application/octet-stream
{Bytes}
--d174f29b-6def-47db-8519-3da38b21b398
Content-Disposition: form-data; name="folder_id"
0
--d174f29b-6def-47db-8519-3da38b21b398--
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试获取访问令牌并使用以下URL来发送HTTP请求和接收
{
"error":"invalid_request",
"error_description":"Invalid grant_type parameter or parameter missing"
}
Run Code Online (Sandbox Code Playgroud)
错误信息 .无论我尝试什么.我收到代码后发帖秒,所以我不认为代码可能是失败点.
我究竟做错了什么?
我试图找到适用于Box API v 2.0的PHP SDK,但没有找到它.我发现只有SDK for v1.0 https://github.com/box/box-php-sdk 它是否存在?
要么
是否可以在v1.0 sdk https://github.com/box/box-php-sdk中使用Box API v1.0中的refresh_token ?
我再次需要你的帮助......
我想访问 Box API 并使用 JWT(Json Web 令牌)进行授权。为此,我需要创建一个断言:
“每个 JWT 断言都由三个组件组成,标头、声明和签名。-
标头指定用于 JWT 签名的算法。-
声明包含必要的信息。验证和提供正确的标记
-签名被用来验证识别应用,并使用公钥验证
一旦被编码,然后连接起来,智威汤逊断言将是这样的:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9eyJpc3MiOiJ2Z3 B2bWFvaDJjZ2ZjNGRuMzFnMWx0cmlhbmdlZCIsInN1YiI 6IjE2ODczOTQzIiwiZXhwIjoxNDI5MDM3ODYwLCJqdGkiOiJ”。
因此,我之前必须创建一个 RSA 密钥对,并且必须将公钥存放在 Box devolper 应用程序中。
现在,我不知道如何创建签名。我找到了创建密钥对的解决方案,但由于我已经有了这个,我不知道如何修改代码。
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Signature;
import sun.misc.BASE64Encoder;
public class MainClass {
public static void main(String[] args) throws Exception {
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024);
KeyPair keyPair = kpg.genKeyPair();
byte[] data = "test".getBytes("UTF8");
Signature sig = Signature.getInstance("MD5WithRSA");
sig.initSign(keyPair.getPrivate());
sig.update(data);
byte[] signatureBytes = sig.sign();
System.out.println("Singature:" + new
BASE64Encoder().encode(signatureBytes));
sig.initVerify(keyPair.getPublic());
sig.update(data);
System.out.println(sig.verify(signatureBytes));
}
}
Run Code Online (Sandbox Code Playgroud)