LinkedIn的API允许用户将他们的电子邮件和密码提交到如下所示的表单中:
https://www.linkedin.com/uas/oauth2/authorization?client_id=nhrepd2sjd6k&raise_errors=true&redirect_uri=https%3A%2F%2Fwww.treatings.co%2Fv1%2Ftoken_exchanges&response_type=code&scope=r_fullprofile+r_emailaddress&state=JV4qrQfA8p%2BAKtyq1DFgaaXeRZSg50lQrAU%2Fc%2BBSXaU%3D
使用正确的凭据,LinkedIn会使用code
和state
参数重定向到上述网址中的重定向URI:
https://www.treatings.co/v1/token_exchanges?code=CODE&state=STATE
我有两个问题:
谢谢!
答案 0 :(得分:0)
Ruby带有Net::HTTP和OpenURI。在这两者中,OpenURI更容易使用。
其他宝石也可以做同样的事情,但首先我建议坚持使用OpenURI,直到找到具体的理由去寻找其他地方。
OpenURI的文档有很多例子可以帮助您入门,但基本命令是:
open('http://www.example.com/index.html').read
将以字符串形式返回页面内容。您可以使用包含表单内容的URL替换上面的URL,这将导致服务器以通常返回的内容进行响应。
因为您使用的是HTTPS URL,OpenURI会感知到这一点并自动使用SSL连接。这也包含在文档中。
重定向将由OpenURI自动处理,您可以询问它的登陆URL是什么。此时,您可以使用Ruby的URI类parse
URL,使用query
提取查询,然后使用decode_www_form
干净地检索值。
这里和互联网上有很多例子可以指出你正确的方向。
我不确定OpenURI是否支持POST ....
然后有很多宝石支持它,或者下拉一个级别并使用Net :: HTTP。搜索“ruby http客户端”显示了很多。