我试图访问,https://api.box.com/2.0/files但我收到Expected status code in (200-299), got 405了我的回复(来自AFNetworking).
在发送请求之前,我从服务器获取了auth_token.
码
- (void)getFileListing:(NSString*)apiKey
{
if(apiKey == nil) { apiKey = kBoxNetApiKey; }
NSDictionary *boxAuth = [[NSUserDefaults standardUserDefaults] objectForKey:kBoxNetUserDefaultsKey];
if([boxAuth objectForKey:@"auth_token"] != nil) {
NSURL *url = [NSURL URLWithString:@"https://api.box.com/2.0/files"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
DLog(@"auth_token: %@", [boxAuth objectForKey:@"auth_token"]);
DLog(@"apiKey: %@", apiKey);
NSString *auth = [NSString stringWithFormat:@"BoxAuth api_key=%@&auth_token=%@", apiKey, [boxAuth objectForKey:@"auth_token"]];
[request setValue:auth forHTTPHeaderField:@"Authorization"];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
DLog(@"JSON: %@", …Run Code Online (Sandbox Code Playgroud) 在我的程序中,我试图获取我的盒子文件夹中某些项目的最后修改日期,但我无法访问该信息.
根据盒子API的文档和java库的javadoc,以下任何一种方法都BoxTypedObject应该返回我想要的信息:
getModifiedAt()应该String以ISO 8601格式返回日期.getModifiedDate()应该返回Date日期的对象.getValue("modified_at")还应该String以ISO 8601格式返回日期.getExtraData("modified_at") 也是一种可能的方式,虽然我对这个不太确定.但是,这些方法都没有对我有用; 他们都刚刚回归null.
我用来检索日期的(大大简化的)代码如下,上面的方法之一替换了注释块:
private static void printAll(BoxFolder boxFolder){
for(BoxTypedObject file : boxFolder.getItemCollection().getEntries())
System.out.printf("[\"%1$s\" %2$s]%n",
file.getValue("name"), file./*[???]*/);
}
Run Code Online (Sandbox Code Playgroud)
其他字段都返回正确的值,只有当我尝试获取日期时它才会失败.
如何检索
BoxTypedObjects 的修改日期?
编辑:我已经找到了一种方法来获得它,但它有点慢.
client.getFilesManager().getFile(file.getId(), null).getModifiedAt()
Run Code Online (Sandbox Code Playgroud)
检索日期.不过,如果有更好的方法,我仍然感兴趣.
Box客户端的身份验证由以下类处理:
import java.awt.Desktop;
import java.io.*;
import java.net.*;
import com.box.boxjavalibv2.BoxClient;
import com.box.boxjavalibv2.dao.BoxOAuthToken;
import com.box.boxjavalibv2.exceptions.*;
import com.box.boxjavalibv2.requests.requestobjects.BoxOAuthRequestObject;
import com.box.restclientv2.exceptions.BoxRestException;
/**
* This class handles the storage and use of authentication keys, to
* …Run Code Online (Sandbox Code Playgroud) 我们已经实现了将文件上传到box.net的队列。所有文件上传成功。但是,我一周内遇到1或2次以下异常。我找不到此异常的任何原因。
异常消息:
威胁已经被清除了。
异常源:
mscorlib
Exception-StackTrace:
在Box的System.Threading.Monitor.ObjWait(布尔值exitContext,Int32毫秒超时,对象obj)在Box。 C:\ Project \ BackupProjects \ BoxNetFileUpload \ Box.netAPIWebApp \ Source \ Service \ BoxService.cs:line 90中的.netAPIWebApp.Service.BoxService.monitorOnUploadQueue()
有人可以帮忙吗?
private static readonly BoxService instance = new BoxService();
private Queue<FileCabinetUploadHistory> uploadQueue = new Queue<FileCabinetUploadHistory>();
private BoxService()
{
Thread monitorThread = new Thread(new ThreadStart(monitorOnUploadQueue));
monitorThread.Start();
}
private FileCabinetUploadHistory RemoveFromUploadQueue()
{
lock (uploadQueue)
{
return uploadQueue.Dequeue();
}
}
private void monitorOnUploadQueue()
{
FileCabinetUploadHistory fileCabinetUploadHistory = null;
try
{
while (true)
{
if (uploadQueue.Count < 1)
{
lock (uploadQueue)
{ …Run Code Online (Sandbox Code Playgroud) 我们知道BOX API v1可以获得永久的auth_token,但是使用Oauthv2的BOX API v2没有,并且它仅对access_token有效1小时,对refresh_token有效14天(afaik).
我有这个应用程序,单个表单所有者与BOX集成.例如,我创建了一个表单,每个提交都将上传到BOX(当然这将被设置,它使用BOX API v1)
提交表单的用户将使用表单所有者创建的access_token.我们不知道下次提交的时间是什么时候.所以到那时,access_token可能会过期或者刷新也是如此.
任何人都可以启发我,如何刷新令牌?在每个用户提交?或者是什么?
BOX API v1在这里没有问题,它工作得很好但是因为API v1将在12月死亡,我现在必须计划将其转换为v2,但Box api v2有令牌到期.
谢谢
Vinods-Mac-mini-2:~ vinod$ cd desktop
Vinods-Mac-mini-2:desktop vinod$ git clone https://github.com/box/box-ios-sdk-sample-app.git
Cloning into 'box-ios-sdk-sample-app'...
remote: Counting objects: 158, done.
remote: Compressing objects: 100% (87/87), done.
remote: Total 158 (delta 76), reused 143 (delta 63)
Receiving objects: 100% (158/158), 70.79 KiB | 83 KiB/s, done.
Resolving deltas: 100% (76/76), done.
Vinods-Mac-mini-2:desktop vinod$ cd box-ios-sdk-sample-app
Vinods-Mac-mini-2:box-ios-sdk-sample-app vinod$ git submodule init
Submodule 'vendor/BoxSDK' (git@github.com:box/box-ios-sdk-private.git) registered for path 'vendor/BoxSDK'
Vinods-Mac-mini-2:box-ios-sdk-sample-app vinod$ git submodule update
Cloning into 'vendor/BoxSDK'...
Permission denied (publickey).
fatal: Could not read from remote …Run Code Online (Sandbox Code Playgroud) 我们正在使用新的v2 BoxSDK,并按照github repo上的步骤将其集成为子项目.一切都建立并运行良好,但我们无法存档项目.我们得到错误:
词法或预处理器问题:找不到'BoxSDK/BoxSDK.h'文件
我已经尝试了几种设置用户标题搜索路径的组合,但似乎找不到任何有用的东西.看起来像头文件被放入:
"IntermediateBuildFilesPath/UninstalledProducts /包括"
归档时有没有人有幸在应用程序中使用v2 BoxSDK?
谢谢你的帮助.
我希望能够直接从我自己的原生iOS应用程序启动本机Box iOS应用程序.例如,Dropbox使用db-api-1://,Facebook使用fb://,Square使用square://等.
适用于iOS的Box是否使用类似的URL方案?如果是这样,是否有文档概述它可以解析哪些参数?如果没有,是否有另一种方式从我的应用程序启动它?
谢谢!
我有一个应用程序上传/下载文件到/从box.net.应用程序在未部署在服务器上时工作正常,但是当我在Google App Engine上部署它时会遇到以下错误.
错误#2044:未处理的securityError:.text =错误#2048:安全沙箱违规:http://somexyz.appspot.com/xyzsample.swf无法从http://box.net/api/1.0/download/abcdef/123456加载数据.
我在as3中包含了以下代码行
Security.allowDomain("*");
Run Code Online (Sandbox Code Playgroud)
并将crossdomain.xml放在app根文件夹(Google App Engine)中,并可以使用somexyz.appspot.com/crossdomain.xml访问该文件
crossdomain.xml包含以下行
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
<allow-http-request-headers-from domain="*"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)
我尝试使用tomcat时也遇到了同样的问题.
apache-flex google-app-engine actionscript-3 flex4.5 box-api
我正在尝试连接一个web api服务,box-api,并按照教程我必须输入此命令来获取用户内容中的文件夹:
curl https://api.box.com/2.0/folders/FOLDER_ID/items?limit=2&offset=0 -H "Authorization: Bearer ACCESS_TOKEN"
Run Code Online (Sandbox Code Playgroud)
我试图从命令行连接到测试命令,但它一直在抱怨-H或者--header命令说它不存在:
-bash: -H: command not found
-bash: --header: command not found
Run Code Online (Sandbox Code Playgroud)
但是当我键入curl --help时,命令在手册中:
-H, --header LINE Custom header to pass to server (H)
Run Code Online (Sandbox Code Playgroud)
我很困惑,我该怎么做才能连接到这个网站并获得JSON内容?谢谢
box-api ×9
ios ×2
apache-flex ×1
api ×1
c# ×1
curl ×1
flex4.5 ×1
ios5 ×1
iphone ×1
java ×1
objective-c ×1
queue ×1
terminal ×1
url-scheme ×1
xcode ×1