2014-01-08 47 views
0

显示图像文件这听起来微不足道了一些你,但我要肯定的......的Dropbox API - PHP - 在网站

我只需要使用Dropbox的2两件事:

  • 通过php从我的web服务器上传图像文件,可以创建文件夹(就像我在普通的web服务器上做的那样),或者通过rsync将文件夹从我的web服务器同步到dropbox;

  • 显示

我已经下载了SDK API在网页中这些图像文件,然后运行到64位的异常错误,然后重定向无效-URI ...

,所以我会真的很感激,如果有人能回答我上面的两个问题,并指出我一个很好的例子来做到这一点。

+0

发布您的代码。 –

+0

我还没有任何代码,我只使用sdk中提供的示例。 –

+1

只需在[lib/Dropbox/RequestUtil.php]中注释引发异常的行,即可绕过64位问题(https://github.com/dropbox/dropbox-sdk-php/blob/master/lib /Dropbox/RequestUtil.php) - 看第22行。准备好意外的结果;-) – madebydavid

回答

2

我以另一种方式解决它。我不使用API​​来生成直接下载链接,而是显示原始文件。这会给我一个网络链接,然后我通过添加“raw = 1”来修改,并用“dl = 1”替代“dl = 0”。这个新链接可以用作普通html图片的源代码。

1

按照上述建议

import dropbox 
import json 
import httplib, urllib, base64 

access_token='your token' 
client = dropbox.client.DropboxClient(access_token) 
url = client.share('test.jpg',short_url=False) 
imageurl = url['url'].replace("dl=0","raw=1") 

body = { 
"url":imageurl 
} 
print json.dumps(body) 

headers = { 
# Request headers 
'Content-Type': 'application/json', 
'Ocp-Apim-Subscription-Key': '00759a20e705487a91e4db51b80bdfa7', 
} 

params = urllib.urlencode({ 
}) 

try: 
conn = httplib.HTTPSConnection('api.projectoxford.ai') 
conn.request("POST", "/emotion/v1.0/recognize?%s" % params,json.dumps(body),  headers) 
response = conn.getresponse() 
data = response.read() 
print(data) 
conn.close() 
except Exception as e: 
print("[Errno {0}] {1}".format(e.errno, e.strerror))