首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GoodData:如何通过API创建项目?

GoodData:如何通过API创建项目?
EN

Stack Overflow用户
提问于 2014-03-26 06:17:12
回答 3查看 555关注 0票数 2

您可以使用http://docs.gooddata.apiary.io/#project接口在GoodData中创建一个新项目

有时,例如,当从模板创建项目时,项目创建不是同步的。当我在项目还没准备好的时候使用它,我得到了像403和409这样的错误。

项目的可能状态是什么(除了已启用)?创建项目的推荐方式是什么(可能针对某个状态进行轮询)?错误状态是什么?如何处理?代码示例会很有用。

EN

回答 3

Stack Overflow用户

发布于 2014-03-26 15:40:55

是的,最好的方法是轮询项目状态。

项目可以具有这些状态。

‘准备’|‘准备’|‘正在加载’|‘已启用’|‘已禁用’|‘已删除’|‘已存档’,

我可以为您创建示例,您首选的语言是什么?

吉日·西蒙

GoodData支持

票数 2
EN

Stack Overflow用户

发布于 2018-07-17 20:59:04

我建议你使用ruby cookbook来创建新项目。Gooddata在ruby中有非常好的库来处理项目。

使用模板http://sdk.gooddata.com/gooddata-ruby-examples/#_creating_project_from_template创建项目

创建空项目http://sdk.gooddata.com/gooddata-ruby-examples/#_creating_empty_project

理想情况下,您可能希望使用云连接etl工具创建一个gooddata项目,如以下链接https://help.gooddata.com/cloudconnect/manual/gooddata-project.html中所述

票数 2
EN

Stack Overflow用户

发布于 2014-03-26 21:24:13

在这里你可以看到非常简单的python示例。

代码语言:javascript
复制
from urllib2 import Request, urlopen
import Cookie
from json import dumps
import re
import ast



values = dumps({"postUserLogin":{"login":"jiri.simon@gooddata.com","password":"mypassword","remember":1}})
headers = {"Accept": "application/json", "Content-Type": "application/json"}
request = Request("https://na1.secure.gooddata.com/gdc/account/login", data=values, headers=headers)
response_body = urlopen(request)
#print response_body.read()
msg = response_body.info()
#print msg.getheaders('set-cookie')
x=msg.getheaders('set-cookie')
import re
GD_SST = re.search('GDCAuthSST(.*?);', x[1]).group()
print GD_SST


headers = {"Cookie": "$Version=0; $Path=/gdc/account", "Accept": "application/json", "Content-Type": "application/json"}
headers['Cookie'] = GD_SST
request = Request("https://na1.secure.gooddata.com/gdc/account/token", headers=headers)
response_body = urlopen(request)
#print response_body.read() 
#print response_body.info() 
msg = response_body.info()
#print msg.getheaders('set-cookie')
x=msg.getheaders('set-cookie')
#print x
GD_TT = re.search('GDCAuthTT(.*?);', x[0]).group()
print GD_TT


values = dumps({ "project" : {
       "content" : {"guidedNavigation": 1, "driver" : "Pg", "authorizationToken" : "MYTOKEN"},
       "meta" : {
       "title" : "Test Project API",
       "summary" : "Testing Project",
       "projectTemplate" : "/projectTemplates/{templateName}/{version}"
       } }
})
headers = {"Accept": "application/json", "Content-Type": "application/json"}
headers['Cookie'] = GD_TT
request = Request("https://na1.secure.gooddata.com/gdc/projects", data=values, headers=headers)
response_body = urlopen(request).read()
#project_url=response_body['uri']
project_url=ast.literal_eval(response_body)['uri']
print project_url

request = Request("https://na1.secure.gooddata.com%s" % project_url , headers=headers)
#response_body = urlopen(request).read()
#print response_body
response_body = urlopen(request).read()
print response_body
#project_details = ast.literal_eval(response_body)['project']
#project_state = project_details['content']['state']

project_state = " "
#print "project_state is %s" % project_state
while project_state != "ENABLED" or project_state != "DELETED" :

    response_body = urlopen(request).read()
    #print response_body
    project_details = ast.literal_eval(response_body)['project']
    project_state = project_details['content']['state']
    print "project_state is %s" % project_state
    if project_state == "DELETED":
      break

if project_state == "ENABLED" :
  print "project created %s" %project_ur
else:
 print "something was wrong"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22647479

复制
相关文章

相似问题

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