Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python代码从webbrowser的Adress栏获取附加在url中的参数_Python_Url_Oauth 2.0_Openerp - Fatal编程技术网

如何使用python代码从webbrowser的Adress栏获取附加在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请求的一

在使用OAuth 2.0时,在允许我的web应用程序通过Google登录访问目录API之后,Google会将我重定向回web应用程序页面,并在URL处附加一个授权代码

像这样->>>

现在我需要从URL获取此代码,以便交换访问令牌。如何使用python代码在URL中获取此代码参数


(**在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)