我坚持使用Google Calendar Api版本3的授权
我正在尝试构建的是一个将数据库内容提供给Google日历的应用程序
我在Google Api版本2下完全使用此应用程序。 但是,我希望使用版本3中的一些新功能。
遗憾的是,版本3向后兼容
到目前为止,这是我的代码:
Imports DotNetOpenAuth.OAuth2
Imports Google.Apis.Authentication.OAuth2
Imports Google.Apis.Authentication.OAuth2.DotNetOpenAuth
Imports Google.Apis.Calendar.v3
Imports Google.Apis.Calendar.v3.Data
Imports Google.Apis.Util
Public Shared Sub Main(args As String())
Dim provider = New NativeApplicationClient(GoogleAuthenticationServer.Description)
provider.ClientIdentifier = "<client id>"
provider.ClientSecret = "<client secret>"
Dim auth = New OAuth2Authenticator(Of NativeApplicationClient)(provider, AddressOf GetAuthorization)
Dim service = New CalendarService(auth)
End Sub
Private Shared Function GetAuthorization(arg As NativeApplicationClient) As IAuthorizationState
Dim scopes As New System.Collections.Generic.List(Of String)
scopes.Add(CalendarService.Scopes.Calendar.GetStringValue())
Dim state As IAuthorizationState = New AuthorizationState(scopes)
state.Callback = New Uri(NativeApplicationClient.OutOfBandCallbackUrl)
Dim authUri As Uri = arg.RequestUserAuthorization(state)
Process.Start(authUri.ToString())
Return arg.ProcessUserAuthorization(state)
End Function
我收到错误; Error1'IAuthorizationState'在名称空间'DotNetOpenAuth.OAuth2'中不明确。
我不知道我做错了什么(我遵循Google api手册的每一步,也需要DLL)
希望有人可以帮助我。
提前感谢您的努力! :)
答案 0 :(得分:0)
解决了这个问题,我通过NuGet导入了DLL,它似乎安装了DotNetOpenAuth.OAuth2
和DotNetOpenAuth.OAuth2.client
然而,我没有设法让Google Calender Api v3工作,因此在Api v2中制作应用程序,就像一个魅力! :)
仍然我发现谷歌奇怪的是,使用OAuth2的v3无法正常运行VB.Net