2017-01-20 6 views
0
A는 이것이 JSON 응답

필터링 할 수 없습니다 결과와 전화 GET 필드 PARAM

를 반환 내가

https://api.vimeo.com/users/61402929/videos?access_token=token 

을 수행하고 사용자의 비디오에 액세스하기 위해 전화를받을하면서 내가, 비 메오 API를 사용하고

{ 
    "total": 1, 
    "page": 1, 
    "per_page": 25, 
    "paging": { 
     "next": null, 
     "previous": null, 
     "first": "https://stackoverflow.com/users/61402929/videos?access_token=365879aad6244864dab70902890fc1a1&page=1", 
     "last": "https://stackoverflow.com/users/61402929/videos?access_token=365879aad6244864dab70902890fc1a1&page=1" 
    }, 
    "data": [ 
     { 
      "uri": "/videos/200383630", 
      "name": "Bhuvan bam _ Bb ki vines _ playing piano _ Saagar jaisi aankhon waali _ bhuvan bam live (360p_30fps_H264-96kbit_AAC)", 
      "description": "BB Ki Vines", 
      "link": "https://vimeo.com/200383630", 
      "duration": 59, 
      "width": 320, 
      "language": null, 
      "height": 320, 
      "embed": { 
       "uri": null, 
       "html": "<iframe src=\"https://player.vimeo.com/video/200383630?badge=0&autopause=0&player_id=0\" width=\"320\" height=\"320\" frameborder=\"0\" title=\"Bhuvan bam _ Bb ki vines _ playing piano _ Saagar jaisi aankhon waali _ bhuvan bam live (360p_30fps_H264-96kbit_AAC)\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>", 
       "buttons": { 
        "like": true, 
        "watchlater": true, 
        "share": true, 
        "embed": true, 
        "hd": false, 
        "fullscreen": true, 
        "scaling": true 
       }, 
       "logos": { 
        "vimeo": true, 
        "custom": { 
         "active": false, 
         "link": null, 
         "sticky": false 
        } 
       }, 
       "title": { 
        "name": "user", 
        "owner": "user", 
        "portrait": "user" 
       }, 
       "playbar": true, 
       "volume": true, 
       "color": "00adef" 
      }, 
      "created_time": "2017-01-20T17:57:04+00:00", 
      "modified_time": "2017-01-20T17:58:41+00:00", 
      "release_time": "2017-01-20T17:57:04+00:00", 
      "content_rating": [ 
       "unrated" 
      ], 
      "license": null, 
      "privacy": { 
       "view": "anybody", 
       "embed": "public", 
       "download": true, 
       "add": true, 
       "comments": "anybody" 
      }, 
      "pictures": { 
       "uri": "/videos/200383630/pictures/613872508", 
       "active": true, 
       "type": "custom", 
       "sizes": [ 
        { 
         "width": 100, 
         "height": 75, 
         "link": "https://i.vimeocdn.com/video/613872508_100x75.webp?r=pad", 
         "link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F613872508_100x75.webp&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png" 
        }, 
        { 
         "width": 200, 
         "height": 150, 
         "link": "https://i.vimeocdn.com/video/613872508_200x150.webp?r=pad", 
         "link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F613872508_200x150.webp&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png" 
        }, 
        { 
         "width": 295, 
         "height": 166, 
         "link": "https://i.vimeocdn.com/video/613872508_295x166.webp?r=pad", 
         "link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F613872508_295x166.webp&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png" 
        }, 
        { 
         "width": 640, 
         "height": 640, 
         "link": "https://i.vimeocdn.com/video/613872508_640x640.webp?r=pad", 
         "link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F613872508_640x640.webp&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png" 
        }, 
        { 
         "width": 960, 
         "height": 960, 
         "link": "https://i.vimeocdn.com/video/613872508_960x960.webp?r=pad", 
         "link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F613872508_960x960.webp&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png" 
        } 
       ], 
       "resource_key": "fdb74e1e2dcaf7c929cfe14240765f45f2d2a302" 
      }, 
      "tags": [], 
      "stats": { 
       "plays": 0 
      }, 
      "metadata": { 
       "connections": { 
        "comments": { 
         "uri": "/videos/200383630/comments", 
         "options": [ 
          "GET", 
          "POST" 
         ], 
         "total": 0 
        }, 
        "credits": { 
         "uri": "/videos/200383630/credits", 
         "options": [ 
          "GET", 
          "POST" 
         ], 
         "total": 1 
        }, 
        "likes": { 
         "uri": "/videos/200383630/likes", 
         "options": [ 
          "GET" 
         ], 
         "total": 0 
        }, 
        "pictures": { 
         "uri": "/videos/200383630/pictures", 
         "options": [ 
          "GET", 
          "POST" 
         ], 
         "total": 1 
        }, 
        "texttracks": { 
         "uri": "/videos/200383630/texttracks", 
         "options": [ 
          "GET", 
          "POST" 
         ], 
         "total": 0 
        }, 
        "related": null 
       }, 
       "interactions": { 
        "watchlater": { 
         "added": false, 
         "added_time": null, 
         "uri": "https://stackoverflow.com/users/61402929/watchlater/200383630" 
        } 
       } 
      }, 
      "user": { 
       "uri": "https://stackoverflow.com/users/61402929", 
       "name": "Rishabh Kumar", 
       "link": "https://vimeo.com/user61402929", 
       "location": null, 
       "bio": null, 
       "created_time": "2017-01-11T16:15:43+00:00", 
       "account": "basic", 
       "pictures": null, 
       "websites": [], 
       "metadata": { 
        "connections": { 
         "activities": { 
          "uri": "https://stackoverflow.com/users/61402929/activities", 
          "options": [ 
           "GET" 
          ] 
         }, 
         "albums": { 
          "uri": "https://stackoverflow.com/users/61402929/albums", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "appearances": { 
          "uri": "https://stackoverflow.com/users/61402929/appearances", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "categories": { 
          "uri": "https://stackoverflow.com/users/61402929/categories", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "channels": { 
          "uri": "https://stackoverflow.com/users/61402929/channels", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "feed": { 
          "uri": "https://stackoverflow.com/users/61402929/feed", 
          "options": [ 
           "GET" 
          ] 
         }, 
         "followers": { 
          "uri": "https://stackoverflow.com/users/61402929/followers", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "following": { 
          "uri": "https://stackoverflow.com/users/61402929/following", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "groups": { 
          "uri": "https://stackoverflow.com/users/61402929/groups", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "likes": { 
          "uri": "https://stackoverflow.com/users/61402929/likes", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "moderated_channels": { 
          "uri": "https://stackoverflow.com/users/61402929/channels?filter=moderated", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "portfolios": { 
          "uri": "https://stackoverflow.com/users/61402929/portfolios", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "videos": { 
          "uri": "https://stackoverflow.com/users/61402929/videos", 
          "options": [ 
           "GET" 
          ], 
          "total": 1 
         }, 
         "watchlater": { 
          "uri": "https://stackoverflow.com/users/61402929/watchlater", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "shared": { 
          "uri": "https://stackoverflow.com/users/61402929/shared/videos", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         }, 
         "pictures": { 
          "uri": "https://stackoverflow.com/users/61402929/pictures", 
          "options": [ 
           "GET", 
           "POST" 
          ], 
          "total": 0 
         }, 
         "watched_videos": { 
          "uri": "/me/watched/videos", 
          "options": [ 
           "GET" 
          ], 
          "total": 0 
         } 
        } 
       }, 
       "preferences": { 
        "videos": { 
         "privacy": "anybody" 
        } 
       }, 
       "content_filter": [ 
        "language", 
        "drugs", 
        "violence", 
        "nudity", 
        "safe", 
        "unrated" 
       ], 
       "resource_key": "6fe192b4cb782d1341fbf3fb3d0ba04a0295236d" 
      }, 
      "app": null, 
      "status": "available", 
      "resource_key": "cad1f2b7d388491329363a4936f0219fa4dfd18b", 
      "embed_presets": null 
     } 
    ] 
} 

그러나 I는 전체 페이징 필드에만 관심, 데이터 어레이의 일부 필드는 그러므로 나는 아래와 같은 필터를 사용하고

https://api.vimeo.com/users/61402929/videos?access_token=token&fields=paging,data.name,data.description,data.link,data.pictures.sizes.link 
,536,913 63,210

그러나 위의 호출의 응답은

{ 
"total": 1, 
"page": 1, 
"per_page": 25, 
"paging": { 
    "next": null, 
    "previous": null, 
    "first": "https://stackoverflow.com/users/61402929/videos?access_token=365879********0902890fc1a1&fields=paging%2Cdata.name%2Cdata.description%2Cdata.link%2Cdata.pictures.sizes.link&page=1", 
    "last": "https://stackoverflow.com/users/61402929/videos?access_token=365879********0902890fc1a1&fields=paging%2Cdata.name%2Cdata.description%2Cdata.link%2Cdata.pictures.sizes.link&page=1" 
}, 
"data": [ 
    [] 
] 

}

편집이다 또한 호출

https://api.vimeo.com/users/61402929/videos?access_token=token&fields=paging 

에 대한 응답이

{ 
"total": 1, 
"page": 1, 
"per_page": 25, 
"paging": { 
    "next": null, 
    "previous": null, 
    "first": "https://stackoverflow.com/users/61402929/videos?access_token=365879*********70902890fc1a1&fields=paging&page=1", 
    "last": "https://stackoverflow.com/users/61402929/videos?access_token=365879*********70902890fc1a1&fields=paging&page=1" 
}, 
"data": [ 
    [] 
] 

}

요청이 올바르게 처리되지 않는 이유를 파악할 수 없습니다.

답변

2

몇 가지 : 당신이 언급 한 바와 같이 첫째, 액세스 토큰이없는 요청 URI에서 요청의 인증 헤더에 전달해야합니다 https://developer.vimeo.com/api/authentication#making-requests 필드 필터에 관해서

는, 필터에만 적용 data 아래에 중첩 된 키. paging 배열은 여러 항목이 반환되는 요청에 대해 항상 반환됩니다.

그래서 귀하의 예제 요청은 다음과 같이한다 : 여기

https://api.vimeo.com/users/61402929/videos?fields=name,description,link,pictures.sizes.link 

더 많은 정보는 : https://developer.vimeo.com/api/spec#json-filter

희망이 도움이!

+0

고마워요! data.field 대신 필드를 사용하여 문제가 해결되었습니다. 그러나 헤더 대신 URI로 토큰을 보내면 작동하는 것 같습니다. 헤더를 통해 전송할 때 특별한 이점이 있습니까? – penguin2048

+1

헤더에 토큰을 보내는 것은 공식적으로 지원되는 토큰 제공 방법입니다. 이전 API는 요청 URI에서 토큰을 지원하는 데 사용 된 것으로 생각하고 새로운 API가 출시되면 기존의 것으로 지원되었지만 공식적으로는 그 인증 방법이 언제든지 중단 될 수 있습니다. –