我使用Box Api获得了Access Token但它在1小时内到期.我想要的是,
要么我需要非过期访问令牌,要么通过将我的Box用户ID和密码传递给API来获取访问令牌.
如果可能的话,请让我知道.
提前致谢..
我是BOX API的新手,所以我正在使用API的v2.我正在从我的应用程序本地进行REST调用.
我想上传一个可能以前上传过的文件.我知道父文件夹ID和文件名.我需要覆盖现有文件或至少再次调用以查看该文件是否已存在.我无法使用v2 API进行操作.
我可以毫无问题地上传文件.但是,如果文件已经存在,我当然会收到错误.
对我来说这是相当基本的东西,所以也许我错过了一些相当明显的东西?
我正在为我的公司制作一系列Powershell脚本,用于与Box.com之间传输数据.我无法弄清楚的一件事就是上传文件.Box API需要上传的多部分POST操作,我在SO上看到了一些答案,表明我应该能够在Powershell中做到这一点(比如这个).但我似乎无法让它发挥作用.
这是我现在的代码:
Function Post-File {
Param(
[Parameter(Mandatory=$True,Position=1)]
[string]$SourcePath,
[Parameter(Mandatory=$False,Position=2)]
[string]$FolderId = ############
)
#Variables for building URIs
$baseUrl = "https://upload.box.com/api/2.0/files/content"
#Set Authorization for API requests
$headers = @{}
$AccessToken = Refresh-Tokens #A reference to another function that definitely works
$headers.Add("Authorization", "Bearer $AccessToken")
#Set POST content
$body = @{}
$body.Add("filename", [IO.File]::ReadAllBytes($SourcePath))
$body.Add("parent_id", $FolderId)
#Upload the file
Invoke-RestMethod -Uri $baseUrl -Method Post -Headers $headers -ContentType "multipart/form-data" -Body $body
}
Run Code Online (Sandbox Code Playgroud)
这是我回复的回复:
{
"type":"error",
"status":400,
"code":"invalid_request_parameters",
"help_url":"http://developers.box.com/docs/#errors",
"message":"Invalid input parameters in …Run Code Online (Sandbox Code Playgroud) 我正在尝试开始使用Box.com SDK,我有几个问题.
from boxsdk import OAuth2
oauth = OAuth2(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
store_tokens=your_store_tokens_callback_method,
)
auth_url, csrf_token = oauth.get_authorization_url('http://YOUR_REDIRECT_URL')
def store_tokens(access_token, refresh_token):
# store the tokens at secure storage (e.g. Keychain)
Run Code Online (Sandbox Code Playgroud)
1)什么是重定向网址以及如何使用它?我是否需要运行服务器才能使用它?
2)我在store_tokens方法中需要什么样的代码?
我想借助Google HTTP Client v1.14.1在Box API中调用这个特定的方法http://developers.box.com/docs/#files-upload-a-file.目前我认为没办法这样做.
如果我使用http://hc.apache.org/httpclient-3.x/methods/multipartpost.html,我会添加2项StringPart和1项FilePart.
在Google HTTP Client库中,我只看到MultipartContent和Part类似乎无法处理纯名称/值对,如上面引用的StringPart.
以下是Apache HTTP Client示例的摘录:
HttpPost httppost = new HttpPost("http://localhost:8080" +
"/servlets-examples/servlet/RequestInfoExample");
FileBody bin = new FileBody(new File(args[0]));
StringBody comment = new StringBody("A binary file of some kind");
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("bin", bin);
reqEntity.addPart("comment", comment);
httppost.setEntity(reqEntity);
Run Code Online (Sandbox Code Playgroud)
我想完成类似的事情,但使用谷歌HTTP客户端.欢迎大家提出意见!
我正在尝试使用 (Box Api java V2) 将我的 web 应用程序与 Box.com 集成,并且需要能够将所选文件和文件夹从 Box.com 下载到我的服务器上。我可以轻松地做到这一点,但无法从 Box api 获取文件的 MIME 类型。
在我的应用程序中,我还存储了文件的 MIME 类型。是否可以使用 Box Java Api v2 直接获取文件的 Mime 类型?
谢谢,加拉
正如在此处所写http://blog.programmableweb.com/2013/01/11/opening-up-the-box-api/box.com限制每个开发人员(或客户端的OAuth RFC)对其API的请求数量)基础."目前的速率限制是每个开发人员在24小时滚动窗口中的50,000个请求." some1指导我有没有办法增强这个限制?无法在网站上找到任何相关信息.
有没有办法使用 Box API 获取给定文件 ID 的文件的完整文件夹路径?
从 API 文档中可以清楚地看出,我们可以使用父文件夹 ID 递归获取文件夹名称,直到到达根目录,但这将导致大量 REST API 调用,具体取决于父文件夹的数量。
我们在公司的Intranet Portal和Box之间启用了基于SAML的单点登录(SSO),这样用户就不会使用用户名和密码登录Box.com.他们只需点击Intranet Portal上的一个按钮,该按钮就会向Box.com发布SAML断言进行身份验证.
我们希望我们的用户能够直接从Intranet Portal搜索他们的Box文档,Box.com API看起来非常合适.但是,它需要OAuth访问令牌.
问题是:
有没有办法从SAML断言中获取OAuth令牌?
Box Embed允许将文件夹视图嵌入到其他站点.有没有办法只嵌入搜索结果.换句话说,我正在寻找一种方法,<iframe src="https://www.box.com/....?search=keywords"></iframe>只需在iframe中显示搜索结果.
当使用Box SDK for iOS进行OAuth时,我会看到一个包含此错误的网页:

错误:redirect_uri_mismatch
response_type = code redirect_uri = boxsdk-our4iypzazstfpx8j70e8tlc3eyn9c4l:// boxsdkoauth2redirect state = ok client_id = our4iypzazstfpx8j70e8tlc3eyn9c4l
我使用了他们建议的代码:
[self
presentViewController:[[BoxAuthorizationViewController alloc]
initWithAuthorizationURL:[[BoxSDK sharedSDK].OAuth2Session authorizeURL]
redirectURI:nil
]
animated:YES
completion:nil
];
Run Code Online (Sandbox Code Playgroud)
我的客户端ID和客户端密钥在此之前设置.在我的info.plist文件中,我将boxsdk-our4iypzazstfpx8j70e8tlc3eyn9c4l作为URL方案.我无法遵循的唯一指令是:
注意:在Box上设置服务时,请将OAuth2 reditrect URI留空.发布OAuth2调用时,SDK将提供自定义重定向URI; 这样做要求在服务设置中不设置重定向URI.
当我尝试将重定向URI留空并将表单保存在开发人员控制台中时,我收到此错误:
OAuth2重定向网址必须指定有效的网址,且不得为http://
所以我被迫输入一些东西.我输入了" https://mydomain.com "(我的真实域名).我修改了iOS代码以将该URI传递到BoxAuthorizationViewController中,但我仍然得到相同的错误网页.
box-api ×10
oauth-2.0 ×2
boxapiv2 ×1
cocoa-touch ×1
google-api ×1
ios ×1
powershell ×1
python ×1
python-3.x ×1
rest ×1
saml ×1