Al implementar ASP.NET en la nube de Windows Azure, la aplicación genera un error cuando se ejecuta en la nube

Estoy intentando implementar una aplicación ASP.NET en la nube de Windows Azure. Estoy usando la API de Google para una de las llamadas en la aplicación. Cuando hago esto, me sale el siguiente error:

System.UnauthorizedAccessException: se deniega el acceso a la ruta 'Google.Apis.Auth'.

ASP.NET no está autorizado para acceder al recurso solicitado. Considere conceder derechos de acceso al recurso a la identidad de solicitud ASP.NET. ASP.NET tiene una identidad de proceso base (generalmente {MACHINE} \ ASPNET en IIS 5 o Network Service en IIS 6 e IIS 7, y la identidad del grupo de aplicaciones configurado en IIS 7.5) que se usa si la aplicación no se hace pasar por la personificación. Si la aplicación se hace pasar por la identidad, la identidad será el usuario anónimo (generalmente IUSR_MACHINENAME) o el usuario autenticado de la solicitud ».

Para otorgar acceso de ASP.NET a un archivo, haga clic con el botón derecho en el archivo en el Explorador de archivos, elija "Propiedades" y seleccione la pestaña Seguridad. Haga clic en "Agregar" para agregar el usuario o grupo apropiado. Resalte la cuenta ASP.NET y marque las casillas para el acceso deseado.

Intenté investigar esto, pero todas las sugerencias hablan de cambiar la configuración del servidor IIS, a la que no creo que tenga acceso, ya que esto se está ejecutando en la nube. ¿Alguien puede ayudar?

EDITAR: aquí está el código para la función que está dando el error:

 Async Function SpecialTest() As Task(Of String)

    Dim credential As UserCredential
    Dim clientSecretsPath As String = Server.MapPath("~/App_Data/client_secret.json")
    Dim scopes As IList(Of String) = New List(Of String)()
    scopes.Add(CalendarService.Scope.Calendar)
    Dim stream As FileStream = New FileStream(clientSecretsPath, System.IO.FileMode.Open, System.IO.FileAccess.Read)

    Using stream
        credential = Await GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, scopes, "user3", CancellationToken.None)
    End Using


    Dim baseInitializer = New BaseClientService.Initializer()
    With baseInitializer
        .HttpClientInitializer = credential
        .ApplicationName = "P1"
    End With

    Dim service = New CalendarService(baseInitializer)


    Dim Calendars = (Await service.CalendarList.List().ExecuteAsync()).Items()
    Dim toReturn As String = "{""items"": ["
    For Each firstCalendar As CalendarListEntry In Calendars


        If firstCalendar IsNot Nothing Then
            ' Get all events from the first calendar.
            Dim calEvents = Await service.Events.List(firstCalendar.Id).ExecuteAsync()
            ' DO SOMETHING
            Dim items = calEvents.Items
            'Return JsonConvert.SerializeObject(calEvents)
            For Each ite As Google.Apis.Calendar.v3.Data.Event In items
                If Not (ite.Location Is Nothing) And Not (ite.Start Is Nothing) Then
                    Dim tst = ite.Start.DateTime
                    toReturn = toReturn + " [""" + Date.Parse(ite.Start.DateTime).ToShortDateString + """" + "," + """" + ite.Location + """" + "," + """" + ite.Start.DateTime + """" + "," + """" + ite.Start.DateTime + """" + "," + """""],"
                End If
            Next

        End If
    Next
    toReturn = toReturn.Substring(0, toReturn.Length - 1)
    Return toReturn + "]}"
End Function`

Respuestas a la pregunta(3)

Su respuesta a la pregunta