没有提示和文件共享的 DropNet 身份验证
DropNet Authentication without prompts and File Sharing
几个问题:
我使用 DropNet 实现了身份验证过程。我的桌面应用程序是为最终用户设计的。每次应用程序启动时,都会弹出小浏览器 window 要求用户确认访问...
有没有什么方法可以让拥有某种已保存凭据(或用户代码+用户密码,或API代码+API密码)的最终用户能够调用应用程序而不被浏览器提示表单(当前需要登录 - 如果访问令牌过期 - 或确认)?
我的应用程序的目标是文件共享 - 也就是说,一个最终用户可以将 URL(到他上传到 DropBox 的文件)发送给另一个用户,而后者应该是可以通过单击 link 下载文件(没有任何提示,就像手动将 link 共享到 DropBox 中的文件一样)。可能吗?如果是,如何实现?这就是我如何获得 URL 的?多余的说我正在寻找一种编程方式来获得 URL 将实现上述)
对于初学者,请阅读 Dropbox API 的 API 文档。 https://www.dropbox.com/developers/core/docs 它将为您解答一些问题。
是的,可以保存身份验证令牌以保存用户每次登录。在调用 GetAccessToken()
之后的身份验证过程结束时,DropNetClient 实例将有一个名为 UserLogin
的 属性,其中包含一个用户令牌和秘密。存储这些,然后下次创建 DropNetClient 用户的实例时,构造函数将这些作为参数。
API 可以获取文件的共享 link。这是由 DropNet 使用 GetShare
和 GetShareAsync
方法公开的。
谢谢大家,感谢提示,现在开始工作,文件已上传到 Dropbox 应用程序中的文件夹,代码如下:
Dim client As DropNetClient
Dim dropboxLoggedIn As Boolean = False
Dim dropboxAsecret
Dim dropboxAtoken
Dim token As UserLogin
Dim url As String = ""
Private Sub test_form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
client = New DropNetClient("xxxxxx", "xxxxxxx")
client.UseSandbox = True
Dim login = client.UserLogin
token = client.GetToken()
url = client.BuildAuthorizeUrl()
Process.Start(url)
End Sub
Private Sub ButtonX2_Click(sender As Object, e As EventArgs) Handles ButtonX2.Click
client.GetAccessToken()
dropboxAsecret = client.UserLogin.Secret
dropboxAtoken = client.UserLogin.Token
Try
Dim rawData As Byte() = File.ReadAllBytes("c:\flor_lotus.png")
Dim result As MetaData = client.UploadFile("/geral", "flor_lotus.png", rawData)
Catch ex As DropNet.Exceptions.DropboxException
MessageBox.Show(ex.Message)
End Try
End Sub
几个问题:
我使用 DropNet 实现了身份验证过程。我的桌面应用程序是为最终用户设计的。每次应用程序启动时,都会弹出小浏览器 window 要求用户确认访问... 有没有什么方法可以让拥有某种已保存凭据(或用户代码+用户密码,或API代码+API密码)的最终用户能够调用应用程序而不被浏览器提示表单(当前需要登录 - 如果访问令牌过期 - 或确认)?
我的应用程序的目标是文件共享 - 也就是说,一个最终用户可以将 URL(到他上传到 DropBox 的文件)发送给另一个用户,而后者应该是可以通过单击 link 下载文件(没有任何提示,就像手动将 link 共享到 DropBox 中的文件一样)。可能吗?如果是,如何实现?这就是我如何获得 URL 的?多余的说我正在寻找一种编程方式来获得 URL 将实现上述)
对于初学者,请阅读 Dropbox API 的 API 文档。 https://www.dropbox.com/developers/core/docs 它将为您解答一些问题。
是的,可以保存身份验证令牌以保存用户每次登录。在调用
GetAccessToken()
之后的身份验证过程结束时,DropNetClient 实例将有一个名为UserLogin
的 属性,其中包含一个用户令牌和秘密。存储这些,然后下次创建 DropNetClient 用户的实例时,构造函数将这些作为参数。API 可以获取文件的共享 link。这是由 DropNet 使用
GetShare
和GetShareAsync
方法公开的。
谢谢大家,感谢提示,现在开始工作,文件已上传到 Dropbox 应用程序中的文件夹,代码如下:
Dim client As DropNetClient
Dim dropboxLoggedIn As Boolean = False
Dim dropboxAsecret
Dim dropboxAtoken
Dim token As UserLogin
Dim url As String = ""
Private Sub test_form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
client = New DropNetClient("xxxxxx", "xxxxxxx")
client.UseSandbox = True
Dim login = client.UserLogin
token = client.GetToken()
url = client.BuildAuthorizeUrl()
Process.Start(url)
End Sub
Private Sub ButtonX2_Click(sender As Object, e As EventArgs) Handles ButtonX2.Click
client.GetAccessToken()
dropboxAsecret = client.UserLogin.Secret
dropboxAtoken = client.UserLogin.Token
Try
Dim rawData As Byte() = File.ReadAllBytes("c:\flor_lotus.png")
Dim result As MetaData = client.UploadFile("/geral", "flor_lotus.png", rawData)
Catch ex As DropNet.Exceptions.DropboxException
MessageBox.Show(ex.Message)
End Try
End Sub