我正在使用oauth 1.0,到目前为止,我可以成功地从谷歌获得访问令牌。但是当我想从https://www.google.com/m8/feeds/contacts/default/full检索用户联系人时,它返回401错误,没有进一步的解释。
我发现来自Google playground的信息可能不太准确,例如,步骤3和步骤5中的签名基本字符串包含oauth_version,但它是错误的。(如果包含oauth_version,将返回signature_invalid,不包含oauth_version)
这是我的要求:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sbGetContacts.ToString());
req.Method = "GET";
req.Headers.Add(authHeader);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
这是我的标题:
string authHeader = "Authorization: OAuth " +
"oauth_version=" + "\"" + "1.0" + "\"" + "\"," +
"oauth_nonce=" + "\"" + nonce + "\"," +
"oauth_timestamp=" + "\"" + timeStamp + "\"," +
"oauth_consumer_key=" + "\"" + GoogleconsumerKey + "\"," +
"oauth_token=" + "\"" + OauthToken+ "\"," +
"oauth_signature_method=" + "\"" + "HMAC-SHA1" + "\"," +
"oauth_signature=" + "\"" + UpperCaseUrlEncode(sig) + "\"";
谁能告诉我如何解决这个问题?
事实上:
如果您的应用程序有某些不寻常的授权要求,例如在请求数据访问(混合)或域范围授权(2LO)的同时登录,那么您目前不能使用OAuth 2.0令牌。在这种情况下,您必须改为使用OAuth 1.0令牌和API密钥。您可以在Google API Console中的API访问窗格的Simple API Access部分中找到应用程序的API密钥。
根据https://developers.google.com/google-apps/contacts/v3/?hl=fr
所以你需要传递一个API键。您可以通过在URL中添加key='YOUR_API_KEY '来实现这一点,但是如果您使用的是gdata客户端库,如何传递API键呢?
OAuth1已被(Google)弃用。请不要花费任何精力使用OAuth1编写新代码。使用OAuth2没有签名和加密。您需要使用OAuth1的原因是什么?我们想知道。我在Google从事OAuth工作。
我正在尝试访问谷歌联系人API,但我的尝试已经失败了。从其他(网络)语言,我习惯于API控制台和公共API密钥(授权)。 这样,我就不能刷新令牌,也不能确定是否将公钥用作accesstoken...相反,我尝试了一个服务帐户: 这里我的例外: 谢谢提示!
我正试图连接到google Contacts api以访问保存在google中的联系人/联系人,但它抛出了一个TokenResponseException:401 Unauthorized。我对谷歌Oauth2有些陌生。0.我已按要求将服务帐户密钥文件下载到我的项目根目录。 代码如下: 但是,会引发以下异常: 通用域名格式。谷歌。应用程序编程接口。客户啊。oauth2。TokenResponseE
M600 会显示您存储在 Google Contacts(Google 联系人)上的联系人信息。您可以呼叫联系人或给他们发送信息或电子邮件。 *请注意,由于手机的操作系统的不同,其通讯功能的使用会受到某些限制。
公共类GoogleContact{private static final JsonFactory JSON_FACTORY=new JacksonFactory(); }响应为:com.google.api.client.auth.oauth2.TokenResponseException:400错误请求{“错误”:“无效_grant”,“错误_description”:“错误请求”}位于com
介绍 通过 Contact 组件可以实现联系人的展示、选择、编辑等功能。 引入 import { createApp } from 'vue'; import { ContactCard, ContactList, ContactEdit } from 'vant'; const app = createApp(); app.use(ContactCard); app.use(ContactLi
我有AMP中的HTML表单,带有POST操作;电子邮件的PHP文件使用Sendgrid API。我尝试了Json重定向的headers响应,但不起作用。 出于这个原因,我应用了JavaScript重定向(是的,我知道,这会为AMP验证生成错误,但我需要重定向到跟踪在线转换的感谢页面)。 PHP文件工作正常,所有电子邮件都是发送的,但没有JavaScript重定向,只有电子邮件发送的div成功或错误