当前位置: 首页 > 知识库问答 >
问题:

如何在Google API中用web应用程序生成的令牌填充本机应用程序凭据?

司空瑾瑜
2023-03-14
function auth() {
            var config = {
                'client_id': "myID",
                'scope': "https://www.googleapis.com/auth/calendar"
            };
            gapi.auth.authorize(config, function () {
                console.log('login complete');
                console.log(gapi.auth.getToken());
            });
        }
var tokenResponse = new TokenResponse
{
        AccessToken = tokenCopiedFromJavascriptObject,
        Issued = propertyCopiedFromJavascriptObject,
        TokenType = "Bearer",
        Scope = CalendarService.Scope.Calendar,
        RefreshToken = "3600"
};

var authorizationCodeFlowInitializer = new GoogleAuthorizationCodeFlow.Initializer
        {
            ClientSecrets = new ClientSecrets()
            {
                ClientId = myIdForDesktopApp,
                ClientSecret = ClientSecretForDestopApp
            },
            Scopes = new[] { CalendarService.Scope.Calendar },
            Clock = Google.Apis.Util.SystemClock.Default
        };
        var authorizationCodeFlow = new GoogleAuthorizationCodeFlow(authorizationCodeFlowInitializer);
        _credentials = new UserCredential(authorizationCodeFlow, _calendarId, tokenResponse);

        _service = new CalendarService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = _credentials,
            ApplicationName = "Fast and Easy Reservation System"
        });
        const string meeting = "Some fancy meeting";
        var e = _service.Events.QuickAdd("primary", meeting).Execute();
    }

共有1个答案

太叔京
2023-03-14
            var flow = new GoogleAuthorizationCodeFlow(
            new GoogleAuthorizationCodeFlow.Initializer
            {
                ClientSecrets = new ClientSecrets()
                {
                    ClientId = "some-numbersAndLettersxxxxxxxxxx.apps.googleusercontent.com",
                    ClientSecret = "xxxxxxxxxxxxxx"
                }
            });
var token = new TokenResponse
        {
            RefreshToken = "ya29.UAH2llQasSADfga32fWay3aqi1pb0AUwAWy_WzbPNyNkYCRPhe5_zBbEG94TZafV8pBMHzC8Q"
        };
var credential = new UserCredential(flow, clientId, token);
 类似资料:
  • 问题内容: 我正在编写Web应用程序,并且想知道推荐的填充原始数据的方法是什么。这是JPA / Hibernate和Spring应用程序,由maven构建。到目前为止,我已经使用脚本将手工数据填充到数据库中,并填充了初始数据。 单元测试使用自己的数据,这些数据是在每次测试之前用代码创建的。我的测试类扩展了 org.springframework.test.jpa.AbstractJpaTests

  • 我需要在Spring Boot应用程序的服务层中获得访问令牌(grant_type=client_credentials),以便与其他微服务对话(服务到服务的交互)。这一层没有spring http会话或auth,我只有client_id、client_secret和令牌URL。这些属性在Application.properties中设置为: 这在Spring Security OAuth中似乎很

  • 本机应用程序是安装和执行在资源所有者使用的设备上的客户端(例如,桌面程序,本机移动应用)。本机应用程序需要关于安全、平台能力和整体最终用户体验的特别注意事项。 授权端点需要在客户端和资源所有者用户代理之间进行交互。本机应用程序可以调用外部的用户代理,或在应用程序中嵌入用户代理。例如: 外部用户代理-本机应用程序可以捕获来自授权服务器的响应。它可以使用带有操作系统已注册方案的重定向URI调用客户端作

  • 问题内容: 您将如何在SWT表中显示大量行?巨大的东西超过20K行20列。不要问我为什么我需要显示这么多数据,这不是重点。关键是如何使其尽可能快地工作,以使最终用户不会感到无聊的等待。每行显示一个对象的实例,列是其属性(某些)。我以为使用JFace内容/标签提供程序模式,但担心它比直接用数据命中表还要慢。它是这样的: 在我的计算机上绘制20k条记录大约需要20秒。我在Windows中看到的最大性能

  • 我试图了解ApacheShiro工作流以及如何将其集成到我的应用程序中。我不明白的是,我如何以及在哪里执行登录,然后发送重定向?或者Shiro会自动执行此操作(因为我在ini文件中指定了域)?我可以发送自定义信息(用户属性)和重定向(通过Servlet响应而不是支持bean)吗? 到目前为止我所了解和拥有的: 将Shiro侦听器和过滤器添加到web。xml文件,以便它能够响应请求: 创建一个shi