Podio API端点如何更新视图?

时间:2016-10-27 19:18:20

标签: podio

当我查看"更新视图"的文档时端点的信息非常少(见https://developers.podio.com/doc/views/update-view-20069949)。当前文档指出端点接受一个参数, view_id但似乎API使用者也希望能够提供其他细节来修改视图的定义。

是否有任何示例代码可用于演示如何使用此端点?

2 个答案:

答案 0 :(得分:5)

Podio Ruby客户端提供使用此端点的代码。如果你看一下here,你会发现端点需要在PUT中提供一个JSON主体来指定新视图的定义。在Ruby代码中,它被称为"属性"这与其他View操作的API文档一致。以下是HTTP请求的示例:

PUT /view/31011898 HTTP/1.1
Host: api.podio.com
Authorization: OAuth2 your_oauth2_token_here
Content-Type: application/json
Cache-Control: no-cache

{
    "layout": "table",
    "name": "SPAM",
    "rights": [
      "delete",
      "view",
      "update"
    ],
    "fields": {},
    "sort_desc": false,
    "created_by": {
      "user_id": <creator user id>,
      "space_id": null,
      "image": {
        "hosted_by": "podio",
        "hosted_by_humanized_name": "Podio",
        "thumbnail_link":    "https://d2cmuesa4snpwn.cloudfront.net/public/",
        "link": "https://d2cmuesa4snpwn.cloudfront.net/public/",
        "file_id": <some file id>,
        "external_file_id": null,
        "link_target": "_blank"
      },
      "profile_id": <profile id>,
      "org_id": null,
      "link": "https://podio.com/users/<user id>",
      "avatar": <avatar id>,
      "type": "user",
      "last_seen_on": "2016-10-27 19:58:22",
      "name": "Podio TESTER"
    },
    "sort_by": "created_on",
    "items": 0,
    "created_on": "2016-10-27 19:58:26",
    "private": true,
    "filters": [],
    "filter_id": 31011898,
    "groupings": {},
    "type": "private",
    "view_id": 31011898,
    "grouping": {}
}

答案 1 :(得分:0)

这是PHP版本,需要在请求之前执行身份验证:

//更新视图

$authorization = 'Authorization: Bearer '.$auth_token;

$json = json_encode(array(
    "sort_desc" => false,
    "filters" => array(
        999994986 => array(
            "to" => 10000,
            "from" => 0.01
        ),
        999999204 => array(
            "to" => $end,
             "from" => $first
        )
    )
));

    $curl = curl_init();

    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.podio.com/view/99999909",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "PUT",
      CURLOPT_POSTFIELDS =>$json,
      CURLOPT_HTTPHEADER => array(
        $authorization,
        "Content-Type: application/json"
      ),
    ));

    $response = curl_exec($curl);
    curl_close($curl);