我需要用户授予我的应用访问他的Dropbox的权限,但是我非常希望他们不必离开我的网站然后再回来。我知道的身份验证API要求用户登录其Dropbox帐户,并在Dropbox网站上对应用进行身份验证。
有办法解决吗?
- 编辑 -
因此,我知道我们可以使用Google / Facebook的身份验证API,以便提示用户在同一窗口内允许/拒绝该应用程序(执行此操作)。如果我们可以使用Dropbox API进行此类操作,那就太好了。
谢谢!
我正在使用Dropbox REST API,我可以成功检索文件的共享URL.
https://www.dropbox.com/developers/reference/api#shares
但是,共享链接将用户带到dropbox.com上的预览页面,而我正在寻找用户可以直接下载文件的直接链接.例如.右键单击,另存为...
我想将文件从服务器推送到我自己的Dropbox.我可以存储API令牌,甚至(尽管很不情愿)存储服务器上的帐户密码.我不想在服务器上安装Dropbox.
我还需要在Dropbox Developer Home上创建应用吗?我觉得我混淆了app命名空间 - 当然我只能使用UUID.此外,我不希望应用程序列在任何位置或让其他用户能够将应用程序授权到他们的Dropbox帐户.
我正在Cordova/PhoneGap中编写一个应用程序,它试图使用Dropbox.js从Dropbox获取文件.Cordova版本为3.0.1,Dropbox.js版本为0.10.0.我的Javascript在桌面浏览器上工作得很好:
var client = new Dropbox.Client({ key: "<my key>", secret: "<my secret>"} );
client.authenticate(function(error, client) {
...
Run Code Online (Sandbox Code Playgroud)
但在Cordova打包的应用程序中,我收到一个错误:"您使用的应用程序似乎提交了一个错误的请求".
我怀疑这个问题与在Cordova应用程序中解决此问题的redirect-url有关:
Dropbox.AuthDriver.BrowserBase.currentLocation()
-> file:///android_asset/www/index.html
Run Code Online (Sandbox Code Playgroud)
即使我将其添加到Dropbox API控制台中的OAuth重定向URI,使用文件:///开头的网址也无法正常使用Dropbox API.
如果我之前知道uid和令牌,Cordova应用程序可以正常工作:
var client = new Dropbox.Client({
key: "<my key",
secret: "<my secret>",
token: "<token>",
uid: "<uid>"
});
client.authenticate(function(error, client) {
...
Run Code Online (Sandbox Code Playgroud)
这样我就能很好地阅读我的Dropbox文件.问题是令牌不会永远存在,我想从我的应用程序本身获取一个新令牌.
根据此讨论,此问题应该已在早期版本的dropbox.js(0.9.2)中得到解决.但我仍然遇到它.我想知道我是否应该使用API有点不同,但我不知道如何.
Dropbox.js 在此提交中添加了一个redirectUrl选项我只是不知道我应该在Cordova应用程序中放置什么.file:///android_asset/www/index.html不起作用,因为Dropbox API不允许文件网址.
西蒙麦克唐纳对这个问题的回答可能会有所帮助.但这意味着我必须拥有一个带有dropbox.js登录功能的外部服务器托管页面.或者我可以使用主Dropbox Web登录页面吗?
我正在尝试构建一个导入 Dropbox 框架的 OS X 目标,但出现此错误:
CodeSign /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app
cd /Users/jessebunch/Projects/testapp/Example
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
Signing Identity: "-"
/usr/bin/codesign --force --sign 80B12837F588266A4A1FB1EF7D9C7F58E3A91E67 /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app
/Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app: code object is not signed at all
In subcomponent: /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app/Contents/Frameworks/Dropbox.framework
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
这是我为此创建的 podspec:
{
"name": "Dropbox-OSX",
"version": "3.1.1",
"summary": "The Dropbox Sync & Datastore API SDK for OSX.",
"homepage": "https://www.dropbox.com/developers/sync",
"license": {
"type": "Copyright",
"file": "dropbox-osx-sync-sdk-3.1.1/LICENSE.txt"
},
"authors": "Dropbox",
"source": {
"http": "https://www.dropbox.com/developers/downloads/sdks/datastore/osx/dropbox-osx-sync-sdk-3.1.1.zip"
},
"platforms": {
"osx": null
},
"public_header_files": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework/Headers/*.h",
"preserve_paths": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework", …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用核心 API 实现将我的 iOS 应用程序的 Documents 目录与 Dropbox 同步。我只需要非常基本的同步功能,保持 Documents 目录与应用程序的 Dropbox 目录相同。
然而,我发现自己必须立即考虑硬同步问题,例如检查文件中的差异,弄清楚如何确定本地目录是否需要更新,允许外部更改等。--东西这是非常先进的东西,我认为 Dropbox SDK 会抽象掉。
感觉就像我正在解决同步问题并重新发明轮子,而不是专注于我的应用程序。
听起来我真正需要的是 Sync API,但它已被弃用。
是否有使用 Core API 实现同步行为的指南,或者如果没有,是否有实现与云服务同步的通用指南?
我面临以下问题:我需要从服务开始一项活动。服务在继续下一个方法之前等待活动的结果非常重要。
目前我有这样的事情:
startActivity(new Intent(this, GoogleAuthHelperActivity.class), FLAG_ACTIVITY_NEW_TASK);
//code should wait for the result of the GoogleAuthHelperActivity before continuing
GoogleAuthHelperActivity.apiClient.isConnected();//gives nullpointer
Run Code Online (Sandbox Code Playgroud)
我在对 Dropbox API 进行身份验证时遇到了同样的问题,所以我需要一个通用的解决方案。
任何想法如何解决这个问题?
我是DropBox的Api访问的新手(参见:https://www.dropbox.com/developers-v1/core/docs#oauth2-methods).现在有一个问题在震动我 -
1)我成功获得了access_token.2)我想通过直接呼叫" https://api.dropboxapi.com/1/account/info "来查看用户的详细信息.但结果是:
{"error_description": "No auth function available for given request", "error": "invalid_request"}
Run Code Online (Sandbox Code Playgroud)
我似乎应该给地址一些东西,以确保我已经过身份验证.但是怎么样?文件中没有看到任何内容......?在哪里?谢谢
我正在尝试使用 API v2 /upload 端点将文件上传到 Dropbox。有时我会收到来自 Dropbox 服务器的 413 错误响应(请求实体太大)。
不幸的是,文档中没有描述最大文件大小,也许有人知道吗?
我正在使用 .net api for v2 使用代码流场景。我的印象是,这是您用来获取刷新令牌的方法,您可以在用户授权您的应用程序一次后保存并重新使用以获取新的访问令牌。
在进行如下调用后,我浏览了调用提供的 uri。
var redirect = DropboxOAuth2Helper.GetAuthorizeUri(OauthResponseType.Code, AppKey, RedirectUri, user.ConnectState);
Run Code Online (Sandbox Code Playgroud)
我解析代码参数的结果,然后将其提供给 ProcessCodeFlowAsync()。这只适用于获取访问令牌一次。如果我保存并再次尝试使用它,我会收到“代码已被使用:无效授权”错误。
我以为我得到的是刷新令牌,但反复提供它 ProcessCodeFlowAsync 不起作用。如何获得刷新令牌,我可以重复使用它来获取访问令牌,而不必每次都让用户授权。顺便说一下,我正在缓存和重新使用身份验证令牌而不是访问令牌。
dropbox-api ×10
dropbox ×3
android ×1
cocoapods ×1
cordova ×1
ios ×1
javascript ×1
oauth-2.0 ×1
objective-c ×1
osx-yosemite ×1
php ×1
xcode6 ×1