1

我需要能够在没有用户输入的情况下将行插入到融合表中。这将是一个每晚运行的可执行文件,以确保融合表是相对最新的。我不需要用户信息……我要做的就是插入一些行,这样我就可以使用融合表来创建地图。

在谷歌毫无价值的 api 示例之后,我整天都在尝试不同的方法。我要么最终从他们的 DOTNet 库中冒出异常,要么我只是得到授权所需的错误。

甚至可以在没有用户干预的情况下做我想做的事吗?似乎每个示例仍然希望用户“接受”某些东西,然后向应用程序提供令牌。

任何示例,评论,指导表示赞赏。

下面是我尝试过的一些代码.. 似乎如果我可以让愚蠢的令牌传递到 httpwebrequest 标头中,我可以在请求的正文中插入一个插入并做我想做的事情.. 但我可以甚至没有任何东西可以连接。

这只是在带有 httpwebrequest 错误的断言类中惨遭轰炸

            AssertionFlowClient provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, cert);
        provider.ServiceAccountId = devEmail;
        provider.Scope = "https://www.googleapis.com/auth/fusiontables";

        var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);

        return new FusiontablesService(new BaseClientService.Initializer()
                {
                    Authenticator = auth,
                    ApplicationName = "apptest"
                });

这也失败了……

 NativeApplicationClient x = new NativeApplicationClient(GoogleAuthenticationServer.Description, clientID, clientSecret);   
        string token;
        try
        {
            IAuthorizationState s = x.GetClientAccessToken(new string[] { "https://www.googleapis.com/auth/fusiontables" });
            token = s.AccessToken;
        }
        catch (Exception exception)
        {
            string ex = exception.Message;
        }
4

0 回答 0