问题标签 [google-api-dotnet-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
724 浏览

.net - 谷歌加插入时刻停止使用 google-api-dotnet-client

问题是:有没有一种新的方法可以调用 API,以便可以将活动插入到用户的配置文件中?

大约一个月前,我在这里发布了一个相关问题。它工作正常,直到本周早些时候它突然停止工作并抱怨这个错误:

[错误信息]

发送直接消息或获取响应时出错

[内部异常]

远程服务器返回错误:(400) 错误请求。

[堆栈跟踪]

在 DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest 请求,DirectWebRequestOptions 选项)

在 DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest 请求)

在 DotNetOpenAuth.Messaging.Channel.GetDirectResponse(HttpWebRequest webRequest)

在 DotNetOpenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage 请求)

在 DotNetOpenAuth.Messaging.Channel.Request(IDirectedProtocolMessage requestMessage)

在 DotNetOpenAuth.OAuth2.ClientBase.UpdateAuthorizationWithResponse(IAuthorizationState 授权状态,EndUserAuthorizationSuccessAuthCodeResponse 授权成功)

在 DotNetOpenAuth.OAuth2.WebServerClient.ProcessUserAuthorization(HttpRequestInfo 请求)

在 GPlusWrapper.PlusWrapper.GetAuthorization(WebServerClient 客户端) 在 \gplus_csharp_ssflow\PlusWrapper.cs:line 122

在 Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1.LoadAccessToken()

在 Google.Apis.Authentication.OAuth2.OAuth2Authenticator 1 onRequestReady) 在 Google.Apis.Requests.Request.ExecuteRequestAsync(Action 1.GetAsyncResponse(Action 1.GetResponse() 在 Google.Apis.Requests.ServiceRequest`1.Fetch()1.ApplyAuthenticationToRequest(HttpWebRequest request)
at Google.Apis.Requests.Request.CreateWebRequest(Action
1 responseHandler) at Google.Apis.Requests.ServiceRequest1 responseHandler) at Google.Apis.Requests.ServiceRequest

乍一看,熟悉 Google API 和 DNOA 的人会说这是 DNOA 问题。我已经搜索了三天,发现具有相同错误消息的问题不适合该问题 - 或者提出的解决方案不适合我遇到的问题。

所以接下来要做的是升级,是的,这是有道理的,因为谷歌团队可能已经改变了 API 的工作方式。所以我从 升级v1.2.4737.25316v1.3.0.15233,这是repo中最新的稳定版本

为确保不是我的代码或我的代码中的某些内容导致了问题,我重新访问了Gus 的示例代码。该示例代码曾经v1.2v1.2v1.3.

现在由于有一个新版本的库,重新访问文档并查看配置是否发生更改或如何调用 API 才有意义。调用 API 的方式似乎没有什么不同。

所以我做了上次调试应用程序时所做的事情。我都试过了

  • request_visible_actions;和
  • 请求可见动作

我仍然有access_type参数,但没有任何效果。

同样,我的问题是:有没有一种新的方法可以调用 API,以便可以将活动插入到用户的个人资料中?

请注意,我使用的是服务器端流程

0 投票
1 回答
365 浏览

google-api-dotnet-client - OAuth2 混淆,C#.Net

我正在尝试开发一个 Web 服务器应用程序,在使用 C# 和 .net 的内部服务器上运行。我的应用程序的目的是与谷歌日历交互,阅读事件,然后生成差旅费用报告。

基于此处示例中的 OAuth2 代码,我能够想出一个主要工作的应用程序。

我说主要是因为在某个地方,关于用户是否已登录和/或已通过身份验证以及哪个用户已登录,会产生混淆。

例如:如果我启动 Chrome,然后访问我的应用程序,一切都很好,但如果我打开另一个浏览器(IE 或 FF),登录到不同的 Google 帐户,然后启动我的应用程序,它给出的报告是在 Chrome 中曾/已登录 Google 的帐户?在第一个浏览器(本例中为 Chrome)中,URL 包含参数 ?code 但第二个浏览器中的 URL 不包含,并且仍然只是我的应用程序的 URL。

当我使用不同的 Google 帐户在第二个浏览器中启动我的应用程序时,似乎身份验证失败(按钮文本保持“身份验证”但代码行,见下文,获取日历列表仍在执行并收到响应后单击“身份验证”按钮,返回的数据来自通过第一个浏览器登录的帐户。

我试图找出为什么会发生这种情况但没有取得多大成功,但它开始让我发疯,并且到目前为止限制了我的应用程序的有用性。

问题是否与存储在我们服务器上的会话状态信息有关?我使用的 OAuth2 代码示例是否已过期,如果是,我在哪里可以找到正确的示例?

任何建议,将不胜感激。

谢谢

0 投票
1 回答
1012 浏览

vb.net - 为 vb.net 运行 Google API 日历示例时出错

当我尝试在 VBExpress 2010 中运行此示例时,我收到以下智能感知错误。

此行生成:

错误 7 重载解析失败,因为没有可访问的“GetStringValue”对这些参数最具体:“Google.Apis.Util.Utilities”中定义的扩展方法“Public Function GetStringValue() As String”:不是最具体的。在“Google.Apis.Util.Utilities”中定义的扩展方法“Public Function GetStringValue() As String”:不是最具体的。

此外,这两行均会生成“未定义”错误。

错误 9 类型“BaseClientService.Initializer”未定义。
错误 8 类型“FullClientCredentials”未定义。

最后,这一行:

产生错误:

错误 15 'AuthorizationMgr' 未声明。由于其保护级别,它可能无法访问。

至于第一个错误,两者google.apis.silverlight.google.apis.util.utilities都有google.apis.google.apis.util.utilities方法GetStringValue(system.enum) as String

关于这些错误的任何想法?

更新:排除 Silverlight dll 似乎可以解决第一个错误(“不是最具体的”)

0 投票
1 回答
1152 浏览

c# - DotNetOpenAuth Google API 离线访问

在过去的几天里,我花了一些时间尝试为我的 Web 应用程序实现一个功能。该功能应在用户离线时将新事件添加到用户谷歌日历。我阅读了有关 Web 服务器应用程序的 Google OAuth2 文档,并且似乎了解它的基础知识。我创建了一个链接来授权应用程序进行离线访问:

如果用户接受,那么我会在重定向 uri 中捕获刷新令牌,如下所示:

出于测试目的,我一直将刷新令牌复制到文本文件以供进一步使用。

我的问题是使用此刷新令牌进行离线访问。我一直在使用此代码来刷新令牌:

在这一点上,一切似乎都很好。当我单步执行代码时,我可以看到 client.RefreshToken(state) 的结果为真。问题是当我调用这行代码时:

它从谷歌返回 (401) 未经授权的错误。我正在调查原因,但我不确定如何继续,而且我在使用此功能时时间不够用。任何建议将不胜感激。谢谢!

0 投票
1 回答
1197 浏览

c# - 开始使用适用于 C# ASP.NET 的 Google 日历

我对 Google API 完全陌生,没有将东西集成到我的程序中的经验。现在我被分配将日历集成到我的程序中。不幸的是,我找不到好的教程,也不知道将 Google 在开发人员指南中放置的代码放在哪里。现在我完全一无所知。请帮忙。我提前谢谢你。

0 投票
1 回答
6077 浏览

google-analytics - Google Analytics API 错误 403:“用户无权访问个人资料”

我一直在尝试学习如何使用 Google Analytics API 来获取网站流量数据。我一直遇到一个错误,说用户没有访问配置文件的权限。我将服务帐户中的电子邮件地址添加到用户中,并尝试使其既是有权访问所有配置文件的用户又是管理员,但都不起作用。

这是我的代码,我从这里得到的:

它在最后一行遇到了问题,它给了我:

Google.Apis.Requests.RequestError

用户对此配置文件没有足够的权限。[403]

在这里查看了似乎存在类似问题的地方,但它所说的只是将电子邮件作为用户添加到 API 控制台中,我这样做了。有谁知道我需要改变什么?

0 投票
3 回答
4694 浏览

api - 如何使用 Google Directory API 获取一个组织单位中的所有用户

在新发布的 Google Directory API 中,我找不到获取 Google Apps 特定组织单位中所有用户的方法。可能吗?如何?根据 Google Directory API 文档,程序员可以获取所有的组织单元,或者整个域的所有用户,但是没有关于如何获取一个组织单元的用户的描述。此功能对于构建组织/用户层次树至关重要。请帮忙,谢谢。

0 投票
4 回答
10154 浏览

c# - 无法使用 Google Directory API Admin SDK 列出用户

我正在尝试使用AdminService来管理我的域的用户和组,但我坚持一个简单的请求来获取我域的所有用户。C#中有代码:

当 Fetch() 说:

我已按照此处的说明启用 API 访问,并在域控制面板中授权了我的服务帐户:

范围:

API 控制面板中也启用了 Admin SDK 服务。

我尝试了使用DriveService的代码并成功列出/创建/删除文件没有任何问题,因此代码的身份验证部分应该没问题。我不知道还需要配置什么,或者我的代码是否还有其他问题。

谢谢你的帮助。

0 投票
1 回答
368 浏览

c# - .net FusiontablesService 身份验证问题

我正在尝试在我的 WPF 应用程序中实现谷歌融合表 api,以在我的谷歌地图中显示大量标记,但问题是当我要验证函数“GetAuthorization”时从不调用。

请帮我解决这个问题。

PS 当我使用 TaskService 和 BookService 时,此代码可以正常工作。

0 投票
1 回答
1063 浏览

google-api - 如何在 Google Admin Directory API 上使用 2 legged oauth

我正在尝试使用带有 2 Legged OAuth 的 Google Admin Directory API 编写代码来获取我们的 Google Apps 域中的所有用户帐户。不幸的是,我几乎找不到任何目录 API 的文档或示例代码。我尝试了下面的代码:

但我得到了 401 未经授权的错误。然后我尝试了使用旧 GData Lib 的低级方式。

上面的代码得到了同样的 401 错误。

根据 Directory API 的源代码,我认为支持 2LO。但是,我就是无法让它发挥作用。任何人都可以帮助指出我的问题吗?谢谢。

另一个问题:2LO 目录 API 请求需要用户 ID(xoauth_requestor_id 参数)吗?我知道使用 2LO 时其他 API 需要此参数,但不清楚 Directory and Provisioning API 是否需要此参数。

顺便说一句:我想在不使用任何库的情况下从头开始构建 2LO HTTP 请求,但我还没有开始。我需要确保 2LO 可以处理 Directory API 请求。