如何将odoo与asana连接起来?
how to connect odoo with asana?
我想将我的 odoo 与 asana 项目连接起来。
但它显示
HTTP错误:HTTP Error 400: Bad Requesterror.
def execute(self, cr, uid, ids, context=None):
params = {
'client_id': '142025919&',
'client_secret': '9691f60a6ca68&',
'redirect_uri': 'urn:ief:wg:oauth:2.0:oob&',
'state' :'somerandmstate'
}
headers = {"Content-type": "application/x-www-form-urlencoded"}
req = urllib2.Request('https://app.asana.com/-/oauth_authorize%s?'%params)
_logger.info(req)
content = urllib2.urlopen(req, timeout=TIMEOUT).read()
我有几个建议给你:
- 如果您想使用 Python 连接到 Asana API,我强烈推荐我们的 client library。
- 您尝试加载的页面是供人使用的。您的应用程序应将用户引导至浏览器中的该页面。他们将取回一个可以粘贴到您的应用程序中的令牌。有关详细信息,请参阅 our OAuth documentation。
如果您决定继续使用这种方法,您需要做几件事来修复您的请求以在 urllib2
中工作。首先,您的查询参数应该在问号之后。其次,您需要使用 urllib.urlencode
URL 对它们进行编码(然后您不需要将 &
包含在 params
字典中)。例如
params = urllib.urlencode({
'client_id': 'someID',
'client_secret': 'someSecret',
'redirect_uri': 'urn:ief:wg:oauth:2.0:oob',
'state': 'somerandmstate'
})
req = urllib2.Request('https://app.asana.com/-/oauth_authorize?%s'%params)
我想将我的 odoo 与 asana 项目连接起来。
但它显示
HTTP错误:HTTP Error 400: Bad Requesterror.
def execute(self, cr, uid, ids, context=None):
params = {
'client_id': '142025919&',
'client_secret': '9691f60a6ca68&',
'redirect_uri': 'urn:ief:wg:oauth:2.0:oob&',
'state' :'somerandmstate'
}
headers = {"Content-type": "application/x-www-form-urlencoded"}
req = urllib2.Request('https://app.asana.com/-/oauth_authorize%s?'%params)
_logger.info(req)
content = urllib2.urlopen(req, timeout=TIMEOUT).read()
我有几个建议给你:
- 如果您想使用 Python 连接到 Asana API,我强烈推荐我们的 client library。
- 您尝试加载的页面是供人使用的。您的应用程序应将用户引导至浏览器中的该页面。他们将取回一个可以粘贴到您的应用程序中的令牌。有关详细信息,请参阅 our OAuth documentation。
如果您决定继续使用这种方法,您需要做几件事来修复您的请求以在
urllib2
中工作。首先,您的查询参数应该在问号之后。其次,您需要使用urllib.urlencode
URL 对它们进行编码(然后您不需要将&
包含在params
字典中)。例如params = urllib.urlencode({ 'client_id': 'someID', 'client_secret': 'someSecret', 'redirect_uri': 'urn:ief:wg:oauth:2.0:oob', 'state': 'somerandmstate' }) req = urllib2.Request('https://app.asana.com/-/oauth_authorize?%s'%params)