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 lib で次のように記述されています (必要な機能を得るために微調整しました)。

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 に答える