我如何在没有Google Dll的情况下验证Gmail API
我想在没有Google Dll的情况下使用Gmail API,我只想在HTTP请求中使用它。我如何使用范围进行身份验证和授权(如使用Google dll创建服务)?我如何在没有Google Dll的情况下验证Gmail API
我越来越
您可以到谷歌使用可处理一个HTTP POST和HTTP GET任何语言验证错误。
注意:client_id,redirect_uri,client_secret是您在Google Developers Console中为您的应用程序设置的所有值。范围将取决于您想要访问哪个Google Api,多于一个可以用逗号分隔。在本例中,我将使用Google Analytics的范围。
步骤一个请求访问:
这是你需要显示给用户请求访问的URL。这是一个HTTP Get调用,可以放在任何Web浏览器中。 Note: response_type=code
https://accounts.google.com/o/oauth2/auth?client_id={clientid}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/analytics.readonly&response_type=code
第二步:
一旦点击上面的链接上,你应该得到一个验证码。
以下请求将交换访问令牌和刷新令牌的代码。这是一个HTTP POST Note: grant_type=authorization_code
https://accounts.google.com/o/oauth2/token
code=4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI&client_id={ClientId&client_secret={ClientSecret}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code
响应:
{ "access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4" }
使用刷新标记:
从上述请求得到的的access_token是你将使用什么做请求服务。一小时后您的访问令牌将已过期,您将需要申请新的access_token你把你上面得到了refresh_token和HTTP POST它:Note: grant_type=refresh_token
https://accounts.google.com/o/oauth2/token
client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}&refresh_token=1/ffYmfI0sjR54Ft9oupubLzrJhD1hZS5tWQcyAvNECCA&grant_type=refresh_token
这是响应:
{ "access_token" : "ya29.1.AADtN_XK16As2ZHlScqOxGtntIlevNcasMSPwGiE3pe5ANZfrmJTcsI3ZtAjv4sDrPDRnQ", "token_type" : "Bearer", "expires_in" : 3600 }
我的全部教程Google 3 legged oauth2 flow
使用:
对于您希望使用的Gmail API的任何请求,只需在最后加上access_token = yourtoken并且您应该有权访问。
或者您可以设置标题。
Authorization Bearer accessToken
非常感谢。那正是我所期待的。 – kostas
这是一个gmail范围列表。 https://developers.google.com/gmail/api/auth/scopes请注意Gmail。在测试和开发时使用虚拟gmail帐户。您不希望真实的电子邮件帐户被禁止,如果您有一个运行狂野的循环:) – DaImTo
当我尝试成功收到代码后使用该令牌时,我使用此URL ** https://accounts.google.com/ o/oauth2/token?code = {code received}&client_id = {myclient id} .apps.googleusercontent.com&client_secret = {mmy secret}&redirect_uri = urn:ietf:wg:oauth:2.0:oob&grant_type = authorization_code **但是我得到无效的请求消息。 – kostas