我在自己的应用程序中使用Dropbox.登录后,会显示tableview,每次加载该视图时,我都会直接进入表格视图.但是,我担心的是,假设不同的人正在使用这个应用程序,他们可能想用自己的帐户登录,所以我想有一个选项来注销.我怎么做?
我需要用户授予我的应用访问他的Dropbox的权限,但是我非常希望他们不必离开我的网站然后再回来。我知道的身份验证API要求用户登录其Dropbox帐户,并在Dropbox网站上对应用进行身份验证。
有办法解决吗?
- 编辑 -
因此,我知道我们可以使用Google / Facebook的身份验证API,以便提示用户在同一窗口内允许/拒绝该应用程序(执行此操作)。如果我们可以使用Dropbox API进行此类操作,那就太好了。
谢谢!
题:
我在这里使用DropBox csharp API:https:
//github.com/dkarzon/DropNet
从单元测试,以及这里唯一的工作样本 https://github.com/dkarzon/DropNet/blob/master/DropNet.Samples/DropNet.Samples.Web/Default.aspx.cs
我认为它的工作原理如下:
DropNet.DropNetClient client = new DropNet.DropNetClient(strApiKey, strAppSecret);
DropNet.Models.UserLogin login = client.GetToken();
client.UserLogin = login;
var accountInfo = client.AccountInfo();
str = accountInfo.quota_info.quota.ToString();
Run Code Online (Sandbox Code Playgroud)
探测器是,它会在accountinfo上引发异常.(System.Net.HttpStatusCode.Unauthorized)一切正常,我得到登录(usertoken&usersecret).
我认为我的问题是示例应用程序的这一部分:
var url = _client.BuildAuthorizeUrl(Request.Url.ToString() + "?dropboxcallback=1");
Response.Redirect(url);
Run Code Online (Sandbox Code Playgroud)
它重定向到Dropbox进行登录...我没有Web应用程序,所以我没有URL ...
我所拥有的是一个控制台应用程序,应该每天晚上自动备份我的数据库作为服务,对于它来说当然非常糟糕,需要webbrowser和用户必须输入电子邮件/用户名+密码.
如何通过直接提供硬编码的用户名和密码来登录?
如果我使用示例应用程序,那么它可以工作,但这需要在Web上输入用户名和密码,这对于控制台应用程序来说是很大的时间......
我想将文件从服务器推送到我自己的Dropbox.我可以存储API令牌,甚至(尽管很不情愿)存储服务器上的帐户密码.我不想在服务器上安装Dropbox.
我还需要在Dropbox Developer Home上创建应用吗?我觉得我混淆了app命名空间 - 当然我只能使用UUID.此外,我不希望应用程序列在任何位置或让其他用户能够将应用程序授权到他们的Dropbox帐户.
已经制定了OAuth的签名审批制度,对Dropbox的,我想下载,我救了一个有文件.RData使用API,以及httr
的GET
功能.
该请求是sucessfull与数据回来,但它是在原始格式,并想知道我怎么去再次将其转换成一个RDATA文件我的本地驱动器上.
这就是我到目前为止所做的:......
require(httr)
db.file.name <- "test.RData"
db.app <- oauth_app("db",key="xxxxx", secret="xxxxxxx")
db.sig <- sign_oauth1.0(db.app, token="xxxxxxx", token_secret="xxxxxx")
response <- GET(url=paste0("https://api-content.dropbox.com/1/files/dropbox/",db.file.name),config=c(db.sig,add_headers(Accept="x-dropbox-metadata")))
str(response)
List of 8
$ url : chr "https://api-content.dropbox.com/1/files/dropbox/test.RData"
$ handle :List of 2
..$ handle:Formal class 'CURLHandle' [package "RCurl"] with 1 slots
.. .. ..@ ref:<externalptr>
..$ url :List of 8
.. ..$ scheme : chr "https"
.. ..$ hostname: chr "api-content.dropbox.com"
.. ..$ port : NULL
.. ..$ path : chr ""
.. ..$ query …
Run Code Online (Sandbox Code Playgroud) 我一直在研究 Dropbox API 的文档,但找不到一种无需进入 OAuth 流程即可直接访问帐户的方法。有办法实现吗?
我的最终目标是拥有一个网页,其中包含来自特定 Dropbox 帐户(我自己的)的文件和文件夹列表,任何人都可以查看和下载。
在Dropbox SDK 2.0中,有没有办法检查文件夹是否存在?或者我们是否使用列出文件夹然后扫描列表的强力方法?
我是一名新开发人员,正在学习使用 Python 3.4.2 进行编码。我在 Raspberry Pi3 上运行 Debian Linux。全新安装后我都做了
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
让一切都是最新的。
我正在尝试测试将文件上传到 Dropbox 的一段代码:
import dropbox
import urllib3
authkey = (my dropbox dev auth key)
with open('test.csv','rb') as f:
dbx = dropbox.Dropbox(authkey)
dbx.files_upload(f.read(), '/test.csv')
Run Code Online (Sandbox Code Playgroud)
现在,我不知道实际的 Dropbox 代码是否正确,因为当我在 Python shell 中运行脚本时收到以下错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/requests/__init__.py", line 58, in <module>
assert minor >= 21
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/dbtest.py", line 1, …
Run Code Online (Sandbox Code Playgroud) 以前,我在网络应用程序中使用Dropbox API V1来上传我的 Dropbox 帐户的文件。请注意,该应用程序仅使用一个 Dropbox 帐户(我的)来上传文件。
所以以前:
这之前工作得很好,但由于 dropbox API v1 已被弃用,它不再工作了。
Dropbox V1 代码:
function fileupload(content) {
request.put('https://api-content.dropbox.com/1/files_put/auto/my_reports/report.pdf', {
headers: {
Authorization: 'TOKEN HERE',
'Content-Type': 'application/pdf'
},
body: content
}, function optionalCallback(err, httpResponse, bodymsg) {
if (err) {
console.log(err);
}
else {
console.log("File uploaded to dropbox successfully!");
fs.unlink(temp_dir + 'report.pdf', function(err) {
if (err)
throw err;
else {
console.log("file deleted from server!");
}
})
request.post('https://api.dropboxapi.com/1/shares/auto/MY_reports/report.pdf' + '?short_url=false', {
headers: …
Run Code Online (Sandbox Code Playgroud) 首先我要说的是,Dropbox 对 Linux 的支持需要认真改进!我花了半天时间才弄清楚如何在RHEL上安装它而且只是命令行界面(甚至不知道是否有GUI)。
现在安装完毕后,我发现它似乎无法正常工作:( 我正在使用推荐的 python 控件,当我输入
dropbox exclude add test_folder
Run Code Online (Sandbox Code Playgroud)
它确实从列表中删除了该文件夹。然而,我无法把它拿回来。当我检查排除列表时,它显示“没有目录被忽略”。因此,我无法通过 重新添加它exclude remove
。当我在线登录时,我可以看到该文件夹仍然存在,但我无法将其添加回本地计算机。
我错过了什么吗?
Dropbox daemon version: 124.4.4912
Dropbox command-line interface version: 2020.03.04
Run Code Online (Sandbox Code Playgroud) dropbox-api ×10
dropbox ×7
.net ×1
bash ×1
c# ×1
dropbox-php ×1
dropnet ×1
httr ×1
ios ×1
javascript ×1
linux ×1
logout ×1
node.js ×1
python-3.x ×1
r ×1
rcurl ×1
rhel ×1
rhel8 ×1
unlink ×1
urllib3 ×1