首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出gooddata报告python

导出gooddata报告python
EN

Stack Overflow用户
提问于 2018-03-14 12:00:25
回答 1查看 159关注 0票数 1

希望连接到Gooddata API并通过python中的API导出报告。The documentation有点让人费解。

我已经定义了gooddata实例的登录:

代码语言:javascript
复制
from urllib2 import Request, urlopen
import json
import requests

def login_gooddata(my_email, my_password):
    url = 'https://secure.gooddata.com/gdc/account/login'    

    values = {
        "postUserLogin": {
            "login": my_email,
            "password": my_password,
            "remember": 0,
            "verify_level": 0
        }
    }

    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    encoded_values = json.dumps(values)
    #request = Request(url, data=encoded_values, headers=headers)
    r = requests.post(url, data=encoded_values)    
    return r

这将使我成功登录,并返回200响应。

根据gooddata网站上有关连接API的文档,我正在尝试导出一个原始项目文件。

我设置了项目和对象I:

代码语言:javascript
复制
project_id = 'asibfakuyebkbhdbfaisdf'
object_id = '87234760'


values = {
    "report_req": {
    "reportDefinition": "/gdc/md/"+ project_id + "/obj/" + object_id
    }
  }


headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

url = 'https://secure.gooddata.com/gdc/app/projects/' + project_id + '/execute/raw/'

r = requests.post(url, data=json.dumps(values), headers=headers)

request = Request(url, data=json.dumps(values), headers=headers)

response_body = urlopen(requests).read()
print response_body

我尝试使用r = requests.post(url, data=encoded_valuesrequest = Request(url, data=encoded_values, headers=headers)。仍收到错误。我真的不确定如何处理下一步。

按照文档中有关连接API的说明进行操作:

EN

回答 1

Stack Overflow用户

发布于 2018-03-14 14:50:54

您需要执行来自记住登录cookie的单个“会话”的所有HTTP请求:执行一次s = requests.Session(),然后使用s.post而不是requests.post

有关详细信息,请参阅https://stackoverflow.com/a/31571805/3407728

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49269570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档