如何使用python代码从webbrowser的Adress栏获取附加在url中的参数
在使用OAuth 2.0时,在允许我的web应用程序通过Google登录访问目录API之后,Google会将我重定向回web应用程序页面,并在URL处附加一个授权代码 像这样->>> 现在我需要从URL获取此代码,以便交换访问令牌。如何使用python代码在URL中获取此代码参数如何使用python代码从webbrowser的Adress栏获取附加在url中的参数,python,url,oauth-2.0,openerp,Python,Url,Oauth 2.0,Openerp,在使用OAuth 2.0时,在允许我的web应用程序通过Google登录访问目录API之后,Google会将我重定向回web应用程序页面,并在URL处附加一个授权代码 像这样->>> 现在我需要从URL获取此代码,以便交换访问令牌。如何使用python代码在URL中获取此代码参数 (**在OpenERP上工作)我相信您想要的是一种从查询字符串中获取数据的方法。 如何访问它取决于Web服务器与python模块的接口方式。它通常存储在一些环境变量中,Web服务器将这些变量作为客户端HTTP请求的一
(**在OpenERP上工作)我相信您想要的是一种从查询字符串中获取数据的方法。 如何访问它取决于Web服务器与python模块的接口方式。它通常存储在一些环境变量中,Web服务器将这些变量作为客户端HTTP请求的一部分传递给应用程序 看起来OpenERP为url路由和请求包装提供了一些帮助类 我建议使用openerp.http.HttpRequest
EDIT:,OpenERP似乎为您提供了一个他们称之为“控制器”的基类,其方法可用于url路由。(也就是说,用于根据url决定向客户端显示哪些内容) 如果文件夹结构如下所示:
web_example
├── controllers
│ ├── __init__.py
│ └── my_controllers.py
├── __init__.py
└── __openerp__.py
然后可以在my_controllers.py文件中定义这些方法。这是my_controller.py模块的一个示例(来自上述文档):
然后这个方法将捕获您在问题中给出的url的参数,并能够对其进行处理
希望这是有用的
class MyController(http.Controller):
@http.route('/my_url/some_html', type="http")
def some_html(self):
return "<h1>This is a test</h1>"
@http.route('/my_url/some_json', type="json")
def some_json(self):
return {"sample_dictionary": "This is a sample JSON dictionary"}
class MyController(http.Controller):
@http.route('/', type="http")
def some_html(self, code, db):
return "the code is {0}, the db is {1}".format(code,db)