0

Netflix API 说这个 URL:

http://api-public.netflix.com/catalog/titles/movies/60036637?expand=synopsis%20cast%20directors%20awards%20similars

在获取标题详细信息时应该可以工作。这应该扩展作为参数“expand”发送的所有链接,即概要、演员、导演、奖项和类似内容。但是,在 pyflix2(用于访问 netflix API 的 python 实现)中,当我执行相同操作时,它不起作用。

我使用的代码如下:

import pyflix2

netflix = pyflix2.NetflixAPIV2( 'App_ID', 'APP_KEY', 'SHARED_SECRET')
movieDetails = netflix.get_title(title["id"], "synopsis cast directors awards similars")

get_title() 函数在 pyflix2 库中编写如下(我已经对其进行了调整以获得所需的功能):

def get_title(self, id,  category=None):
    if id.startswith('http'):
        url=id

        url="%s?expand=%s" %(url,urllib.quote(category))

        return self._request('get', url).json()
    else:
        raise NetflixError("The id should be like: http://api.netflix.com/catalog/movies/60000870")

这仍然会返回我通过此查询获得的折叠链接:

http://api-public.netflix.com/catalog/titles/movies/60036637

我觉得我附加的参数格式不正确并且被省略了。我在此链接上尝试了相同的 URL:

http://kentbrewster.com/netflix-api-explorer/

它给了我正确的回应。也许,pyflix2 在某个地方出了问题。有没有人从事同样的工作并面临这个问题?请尽快回复。

4

1 回答 1

0

您正在提供以空格分隔的展开主题列表。它应该是一个逗号分隔的列表。同样对于 V2 api,扩展看起来像@synopsis@cast等等。

V2 的 uri 应如下所示:http ://api.netflix.com/catalog/titles/movies/493387?expand=@cast,@synopsis&v=2.0

def get_title(self, id,  category=None):
    if id.startswith('http'):
        url=id
        data["expand"] = ",".join(category)
        return self._request('get', url, data).json()
    else:
        raise NetflixError("The id should be like: http://api.netflix.com/catalog/movies/60000870")`

(为清楚起见,我已删除上述代码中的所有错误检查)

称之为:

movieDetails = netflix.get_title(title["id"], ["@synopsis", "@cast", "@directors", "@awards", "@similars"]);
于 2013-02-08T21:00:48.827 回答