GetGlue API的3脚Oauth

时间:2011-10-26 12:42:37

标签: php api oauth

我一直试图使用Oauth连接到GetGlue API,但没有成功。 我已经下载了我能找到的每个库(比如oauth-php)并尝试了我在互联网上找到的每一个例子。必须有一个与GetGlue API的Oauth连接的例子,但我似乎无法找到它。有人对此有经验吗。也许甚至还有一些样本代码?

注意:我需要的只是我自己帐户的一个请求。我试图避开DB解决方案,因为它根本不是必需的,因为它只是我的帐户,有数据要保存。

2 个答案:

答案 0 :(得分:0)

对于GetGlue,您已发送电子邮件以获取消费者密钥和密钥,因此,如果您有两者,那么我可以轻松地帮助您。我将为您提供所有细节..

答案 1 :(得分:0)

GetGlue正在切换/已切换到OAuth 2.0进行身份验证。你可能会更成功。身份验证流程紧跟RFC 6749之后。

一旦您在OAuth 2.0 portal上注册了应用并获得了客户ID和秘密,请执行以下操作:

加载授权网址,让用户授权您的应用:

// remove the line breaks!
https://api.getglue.com/oauth2/authorize?response_type=code
&scope=public+read+write
&redirect_uri=http://localhost
&client_id=<your OAuth client id>

一旦用户授权您的应用,GetGlue将使用您必须拦截的代码查询参数重定向到给定的redirect_uri,例如

http://localhost&code=<auth code>

将该代码传递给令牌端点,以便在访问v3 API时获取作为查询参数附加的访问令牌:

// get tokens
https://api.getglue.com/oauth2/access_token?client_secret=<OAuth client secret>&grant_type=authorization_code&redirect_uri=ttp://localhost&code=<auth code>&client_id=<OAuth client id>

如果成功,这将返回一些JSON。请注意,它们会从HTTPS重定向到HTTP。一些HTTP客户端拒绝这样做。

{
   "token_type":"Bearer",
   "access_token":"<an access token>",
   "scope":"public read write",
   "expires_in":5184000, // in seconds from now
   "refresh_token":"<a refresh token>"
}

在进行API调用时,将access_token作为查询参数传递。如果access_token已过期,请使用refresh_token作为auth代码调用令牌端点以获取新的令牌。如果失败,您必须让用户再次授权您的应用。

现在新API还有Java library (getglue-java)