我需要能够在没有用户输入的情况下将行插入到融合表中。这将是一个每晚运行的可执行文件,以确保融合表是相对最新的。我不需要用户信息……我要做的就是插入一些行,这样我就可以使用融合表来创建地图。
在谷歌毫无价值的 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;
}