不要让所有的代码示例和howto导致你误入歧途.它们适用于更复杂的情况.
>这不是oauth2授权,它的oauth2认证
>您不是具有clientID和秘密的客户端. Codecademy是具有clientID和秘密的客户端.您的codecademybot帐户只是用户.
这意味着您只需要在登录codecademy时自动执行普通用户的操作.使用开发工具(IE开发工具,FireBug,无论如何)在浏览器中播放几次交互,并查看HTTP请求的对话.
这是您希望效仿的内容.
从我所看到的,
>通过向http://codecademy.com/auth/google_oauth2发送请求开始对话.
>该请求将转发到谷歌的https网址
>如果我以前在谷歌登录,会发送几个cookie,然后我会通过身份验证.该请求将在http://www.codecademy.com/auth/google_oauth2/callback发送回codecademy redirect_url,并以oauth2身份验证代码作为参数.
>据说是codecademy和谷歌聊天,这需要大约三秒钟.
>他们同意我是我,在我转发到http://www.codecademy.com/之前,我的浏览器中设置了两个cookie(remember_user_token和_session_id)
我认为最后一点很有趣.如何使用浏览器手动登录,收听对话并将这两个cookie复制到自动代码中.看看它们是否足以作为身份验证令牌,并允许您从网站获取数据.
如果没有,那么我热烈推荐@ CrisBee21的回答.让我们希望pyCurl能够很好地模拟浏览器,为您进行对话.
还有一件事,当我浏览网站时,我看到一个REST api请求,即http://www.codecademy.com/api/v1/notifications/userid / unread_count?authentication_token = some token
冲浪到http://www.codecademy.com/api/v1/users/userid /?authentication_token =令牌
给了我更多关于我自己的信息
http://www.codecademy.com/api/v1/users/userid / groups?authentication_token =令牌给我我所在的组.
如果您有关于codecademy REST api的更多文档,您可以尝试从那里获取它.我找不到任何文件,正在进行中.