示例 onedrive winforms 应用 vb.net
Sample onedrive winforms app vb.net
我一直在网上搜索用 vb.net 编写的基本示例 winforms 应用程序,用于将文件上传到 onedrive。有人知道吗?
我正在尝试使用 vb.net 中的 winforms 应用上传文件。我就让身份验证正常工作...但是调用下一个方法 returns a 401...
我做了以下事情:
共享范围 As String = "wl.skydrive_update"
共享 client_id 作为字符串 = "0000000040144E26"
Shared signInUrl As New Uri([String].Format("https://login.live.com/oauth20_authorize.srf?client_id={0}&redirect_uri=https://login.live.com/oauth20_desktop.srf&response_type=code&scope={1}", client_id, scope))
Private Sub cmdOneDriveAuth_Click(sender As Object, e As EventArgs) 句柄 cmdOneDriveAuth.Click
尝试
Dim auth 作为新的 FrmAuthBrowser
auth.WebBrowser1.Navigate(signInUrl)
auth.Show()
Catch ex As Exception
End Try
End Sub
然后在授权中window:
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Try
If WebBrowser1.Url.AbsoluteUri.Contains("code=") Then
Dim AuthCode As String = System.Web.HttpUtility.ParseQueryString(WebBrowser1.Url.Query)("code")
My.Settings.OneDrive_Enabled = True
My.Settings.OneDrive_AuthCode = AuthCode
My.Settings.Save()
Me.Dispose()
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
但是当我尝试获取根信息时,我收到了 401...
Private Sub Button1_Click(sender As Object, e As EventArgs) 句柄 Button1.Click
尝试
昏暗的客户端作为新的 WebClient()
昏暗的结果 = client.OpenRead(New Uri("https://apis.live.net/v5.0/me/skydrive?access_token=" + My.Settings.OneDrive_AuthCode))
Dim sr As StreamReader = New StreamReader(结果)
MsgBox(sr.ReadToEnd())
Catch ex As 异常
MsgBox(ex.ToString)
结束尝试
结束子
谁能给我一些指导?
看起来您正在使用 OAuth 的 'code' 流程,但您漏掉了一个步骤。您返回的 'code' 与 access_token 不同。您需要先再次调用登录服务器以将您的代码换成 access_token。
POST https://login.live.com/oauth20_token.srf
Content-Type: application/x-www-form-urlencoded
client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret}
&code={code}&grant_type=authorization_code
您可以在此处找到更多详细信息 http://onedrive.github.io/auth/msa_oauth.htm#code-flow。
OneDrive 刚刚发布了一个新的 API,因此我鼓励您检查一下。 http://onedrive.github.io/
还有一个示例 Windows/C# 应用程序,您可以查看该应用程序以获取有关如何登录和上传文件的参考。 https://github.com/OneDrive/onedrive-explorer-win
我一直在网上搜索用 vb.net 编写的基本示例 winforms 应用程序,用于将文件上传到 onedrive。有人知道吗?
我正在尝试使用 vb.net 中的 winforms 应用上传文件。我就让身份验证正常工作...但是调用下一个方法 returns a 401...
我做了以下事情:
共享范围 As String = "wl.skydrive_update" 共享 client_id 作为字符串 = "0000000040144E26" Shared signInUrl As New Uri([String].Format("https://login.live.com/oauth20_authorize.srf?client_id={0}&redirect_uri=https://login.live.com/oauth20_desktop.srf&response_type=code&scope={1}", client_id, scope))
Private Sub cmdOneDriveAuth_Click(sender As Object, e As EventArgs) 句柄 cmdOneDriveAuth.Click 尝试 Dim auth 作为新的 FrmAuthBrowser auth.WebBrowser1.Navigate(signInUrl) auth.Show()
Catch ex As Exception
End Try
End Sub
然后在授权中window:
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Try
If WebBrowser1.Url.AbsoluteUri.Contains("code=") Then
Dim AuthCode As String = System.Web.HttpUtility.ParseQueryString(WebBrowser1.Url.Query)("code")
My.Settings.OneDrive_Enabled = True
My.Settings.OneDrive_AuthCode = AuthCode
My.Settings.Save()
Me.Dispose()
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
但是当我尝试获取根信息时,我收到了 401...
Private Sub Button1_Click(sender As Object, e As EventArgs) 句柄 Button1.Click 尝试 昏暗的客户端作为新的 WebClient() 昏暗的结果 = client.OpenRead(New Uri("https://apis.live.net/v5.0/me/skydrive?access_token=" + My.Settings.OneDrive_AuthCode)) Dim sr As StreamReader = New StreamReader(结果) MsgBox(sr.ReadToEnd()) Catch ex As 异常 MsgBox(ex.ToString) 结束尝试 结束子
谁能给我一些指导?
看起来您正在使用 OAuth 的 'code' 流程,但您漏掉了一个步骤。您返回的 'code' 与 access_token 不同。您需要先再次调用登录服务器以将您的代码换成 access_token。
POST https://login.live.com/oauth20_token.srf
Content-Type: application/x-www-form-urlencoded
client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret}
&code={code}&grant_type=authorization_code
您可以在此处找到更多详细信息 http://onedrive.github.io/auth/msa_oauth.htm#code-flow。
OneDrive 刚刚发布了一个新的 API,因此我鼓励您检查一下。 http://onedrive.github.io/
还有一个示例 Windows/C# 应用程序,您可以查看该应用程序以获取有关如何登录和上传文件的参考。 https://github.com/OneDrive/onedrive-explorer-win