Podio项目到Excel工作表

时间:2018-08-01 16:34:52

标签: excel excel-vba podio

我需要有一个vba宏,可将Podio应用程序中的数据下载到Excel工作表中。现在,我正在运行在Podio社区网站上找到的代码,我将其粘贴在下面:

Dim winHttpReq As Object
Dim access_token As String

Function ProjectsFromPodio()

Dim result As String
Dim postData As String
Dim myURL As String
Dim token_pos As Long

'Initialisierung
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
myURL = "https://api.podio.com/oauth/token"

postData = "grant_type=app&app_id=ABC&app_token=DEF&client_id=GHI&client_secret=JKL"

If winHttpReq.Open("POST", myURL, False) = S_OK Then
    'MsgBox ("Open successfull")
End If
winHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
winHttpReq.Send (postData)

result = winHttpReq.responseText
token_pos = InStr(result, "access_token")
access_token = Mid(result, token_pos + 15)
token_pos = InStr(access_token, Chr(34)) - 1
access_token = Mid(access_token, 1, token_pos)

OAuthAppAuthorization = result
'MsgBox (OAuthAppAuthorization)

Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
myURL = "https://api.podio.com/item/app/XYZ"
winHttpReq.Open "GET", myURL, False
winHttpReq.SetRequestHeader "Authorization", "OAuth2 " & access_token
winHttpReq.Send
result = winHttpReq.responseText
'MsgBox (result)
End Function

这很好用,数据已下载,我可以使用它。我的问题是如何以CSV格式而不是JSON格式下载此数据?有可能吗?

如果不可能,如何以一种聪明的方式将其解析为一张纸?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以向POST发送/item/app/{app_id}/export/{exporter}请求,该请求将创建用于导出项目的批处理。 在这里,您可以将项目导出为 xls xlsx 格式。

您的myURL必须像

myURL = "https://api.podio.com/item/app/XYZ/export/xls"

由于此请求,您将获得一个batch_id。

然后对GET进行/batch/{batch_id}调用以获取批次的status。您可以使用批处理响应中的GET/file/{file_id}发出podio_file_id请求,来下载输出xls文件。

参考