我正在创建一个网站,其中列出了群组中的人数(来自www.codecamy.com).
为实现这一目标,我提出了一个计划.
我将有一个服务器,它将每30秒轮询一次CodeCademy组页面(http://www.codecademy.com/groups),并从该HTML中检索所需的信息.
然后,当客户端连接到我的网站时,服务器将向客户端提供该信息,然后客户端将使用http://www.chartjs.org/docs/或http://www.jqplot.com/基于该信息绘制图形.
但是,存在一个很大的问题.如果您点击了CodeCademy的任何链接,那么您意识到您需要有一个帐户才能真正看到该网站.这可以是Facebook帐户,谷歌帐户或推特帐户.
所以,简短的故事,如果我想访问包含有关组的信息的页面,我需要为我的服务器设置一个Bot帐户,我需要教我的服务器登录该帐户.
因此,我在gmail上创建了一个虚拟帐户,名为codecademybot,我希望我的服务器使用此帐户登录codecademy,以便它可以看到该页面的内容.
通过跟随quickstart python tutorial that connects me to google+我现在也有代码与它进行交互.
然而,尽管如此,我仍然没有关于如何与网站互动的最小想法.我有以下问题:
>如何检测我是否登录了我的Google帐户?
>如何将自己连接到该帐户,以便我可以访问该页面?
>登录该网站是否有特殊链接?
我很失落,并希望得到任何可能的帮助.
>这不是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 =令牌给我我所在的组.