使用谷歌日历Api v3 vb.net

时间:2013-09-09 14:56:48

标签: vb.net google-calendar-api

我坚持使用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)

希望有人可以帮助我。

提前感谢您的努力! :)

1 个答案:

答案 0 :(得分:0)

解决了这个问题,我通过NuGet导入了DLL,它似乎安装了DotNetOpenAuth.OAuth2DotNetOpenAuth.OAuth2.client

然而,我没有设法让Google Calender Api v3工作,因此在Api v2中制作应用程序,就像一个魅力! :)

仍然我发现谷歌奇怪的是,使用OAuth2的v3无法正常运行VB.Net