The Movie Database サポート

Hi, I'm the developer of SeriesGuide and tmdb-java!

On occasion and for random shows and for one or more seasons of that show data returned by TMDb is not in the available translation. The issue typically disappears when the request is tried again later (e.g. within a few hours).

APIs used are https://developers.themoviedb.org/3/tv-seasons/get-tv-season-details and https://developers.themoviedb.org/3/tv/get-tv-details. So far only observed with language code de. User agent is okhttp/4.9.1.

For example GET https://api.themoviedb.org/3/tv/4087/season/8?language=de&api_key=API_KEY

I sadly can't share any response headers as I'm not able to reproduce the issue due to it appearing so rarely. Let me know if there is any additional info that I can share!

More details also in the GitHub issue at https://github.com/UweTrottmann/SeriesGuide/issues/807

38 replies (on page 1 of 3)

Jump to last post

次のページ最後のページ

I am a user of SeriesGuide and have this problem almost every day. Thanks to Uwe for reporting this problem. It's weird, that not a whole series is affected, but only a few seasons.

If can I help anyhow, please tell me. (I am using the Android app "SeriesGuide" on my tablet Samsung Galaxy S7+.)

What about using the primary language translation instead?

GET https://developers.themoviedb.org/3/configuration/get-primary-translations

In other words the ISO-3166-1 (de-DE) instead of ISO-639-1 (de). I hadn't problems so far while using the primary country added to the language.

OK, got headers of a response that incorrectly contains English data.

Request{method=GET, url=https://api.themoviedb.org/3/tv/48891/season/6?language=de&api_key=API_KEY}

Response{protocol=http/1.1, code=200, message=, url=https://api.themoviedb.org/3/tv/48891/season/6?language=de&api_key=API_KEY}
content-type: application/json;charset=utf-8
date: Fri, 16 Jul 2021 11:12:09 GMT
server: openresty
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
x-memc: HIT
x-memc-key: b04e30571b7e80cb82b972ba31a370c0d4c9b826
x-memc-age: 5360
x-memc-expires: 9308
etag: W/"6fd128be5675fc1be6b727b53c02c78b"
vary: Accept-Encoding
x-cache: Hit from cloudfront
via: 1.1 560d8d35213ac925f8d05c5730db1582.cloudfront.net (CloudFront)
x-amz-cf-pop: FRA6-C1
x-amz-cf-id: f_Y7vPY1URbrHAIuknku3-sniLAjxj3yEHYHp9BrTyGGwq925oF-cw==
age: 13633

Running the same request from my dev machine I get the "correct" response with German data, but looking at headers from a different cache server. See https://github.com/UweTrottmann/SeriesGuide/issues/807#issuecomment-881521036 (forum would not let me post such a long message here).

Ya, so it looks like the same cache key is being used for 2 separate requests, which is obviously wrong and shouldn't be happening.

Can you let me know the full request headers you're sending? I want to see the whole request in detail.

Example request headers:

Host: api.themoviedb.org
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/4.9.1
If-None-Match: W/"6fd128be5675fc1be6b727b53c02c78b"

I'm assuming If-None-Match is sent because the HTTP client cache contained the previous response (edit: actually matches etag from above request).

This still keeps happening. Is there anything else I can share or do to move this along?

@travisbell : Any news about this problem? This is happening (and annoying) every day for me.

@travisbell said:

Ya, so it looks like the same cache key is being used for 2 separate requests, which is obviously wrong and shouldn't be happening.

Hi @travisbell , you confirmed this as a bug. Any news about fixing it? Thanks a lot! This problem occurs every day. :-(

Hi @KeksBln, I saw what I believe to be the issue in the data but no matter what combination of ways I try and re-create the problem in dev so that I can fix the issue, I have been unable to do so.

@travisbell said:

Hi @KeksBln, I saw what I believe to be the issue in the data but no matter what combination of ways I try and re-create the problem in dev so that I can fix the issue, I have been unable to do so.

I tried just two requests and could reproduce it (via latest Chrome on Android 12 and Firefox on Windows 10): https://api.themoviedb.org/3/tv/58841/season/7?language=de&api_key=...

returns the english data instead of the german data.

Request (FF, Win10):

GET /3/tv/58841/season/7?language=de&api_key=***************************** HTTP/2
Host: api.themoviedb.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
TE: trailers

Response:

HTTP/2 200 OK
content-type: application/json;charset=utf-8
date: Sat, 11 Jun 2022 20:16:10 GMT
server: openresty
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
x-memc: HIT
x-memc-key: 106a542d9297e69a6ce005b5d26eecd52e84eb54
x-memc-age: 16705
x-memc-expires: 720
etag: W/"28e6e374d7244ccf1606a29b607957ce"
content-encoding: gzip
vary: Accept-Encoding
x-cache: Hit from cloudfront
via: 1.1 68b2682a924ac399aa2724b5b439e75c.cloudfront.net (CloudFront)
x-amz-cf-pop: FRA60-P3
x-amz-cf-id: 55alhQc1BiEwFqOugEXi26eNkaHIIHIKI_rQxJymcRH8g3vNjISwnQ==
age: 262
X-Firefox-Spdy: h2

When requesting "language=en", then the "x-memc..." values are different, but the etag is identical:

HTTP/2 200 OK
content-type: application/json;charset=utf-8
date: Sat, 11 Jun 2022 20:29:30 GMT
server: openresty
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
x-memc: HIT
x-memc-key: dcd0b0f77d99d4fc4a4babfd6968719cdd0b33cc
x-memc-age: 2549
x-memc-expires: 15104
etag: W/"28e6e374d7244ccf1606a29b607957ce"
content-encoding: gzip
vary: Accept-Encoding
x-cache: Miss from cloudfront
via: 1.1 e670d901736ac01599c0ed6fbe3a3c58.cloudfront.net (CloudFront)
x-amz-cf-pop: TXL52-C1
x-amz-cf-id: AWSZvzw81XjZFNIOS6TsncTbFHnEYCAthSh0itmdKvaHKPDDaNo-cA==
X-Firefox-Spdy: h2

When requesting "language=de-DE", then the correct german data is returned (at the moment). Response header (with different etag):

HTTP/2 200 OK
date: Sat, 11 Jun 2022 20:33:45 GMT
content-type: application/json; charset=utf-8
vary: Accept-Encoding
server: BunnyCDN-DE1-832
cdn-pullzone: 775334
cdn-uid: 29af4e0e-bcbd-4fcb-8635-74ddc38a1ebf
cdn-requestcountrycode: DE
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-allow-origin: *
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
etag: W/"7532b68ad9e253722dc804043908e98a"
x-memc: HIT
x-memc-key: d423ddf7cfd8edc9d313f9187ac4cdce9f69ed3b
x-memc-age: 14689
x-memc-expires: 2738
cdn-proxyver: 1.02
cdn-requestpullsuccess: True
cdn-requestpullcode: 200
cdn-cachedat: 06/11/2022 20:33:45
cdn-edgestorageid: 832
cdn-status: 200
cdn-requestid: 1d43a39450c88e33de85170d77883498
cdn-cache: MISS
content-encoding: br
X-Firefox-Spdy: h2

Oh, now "language=de" returns the german data again. Response Header:

HTTP/2 304 Not Modified
date: Sat, 11 Jun 2022 20:49:49 GMT
server: BunnyCDN-DE1-832
cdn-pullzone: 775334
cdn-uid: 29af4e0e-bcbd-4fcb-8635-74ddc38a1ebf
cdn-requestcountrycode: DE
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-allow-origin: *
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
etag: W/"7532b68ad9e253722dc804043908e98a"
x-memc: HIT
x-memc-key: 106a542d9297e69a6ce005b5d26eecd52e84eb54
x-memc-age: 735
x-memc-expires: 15956
cdn-proxyver: 1.02
cdn-requestpullsuccess: True
cdn-requestpullcode: 200
cdn-cachedat: 06/11/2022 20:49:16
cdn-edgestorageid: 832
cdn-status: 304
cdn-requestid: c318f4303ea86ced378efb985ce39067
cdn-cache: HIT
X-Firefox-Spdy: h2

... in my FF on Win10. But in my Chrome on Android the URL still returns the english data (even when I hit Ctrl+Shift+R)!

EDIT: Oh, it's again the english data in my FF on Win10. Weird ...

I can not reproduce it (until now) with "language=fr" or "language=de-DE" (or "de-de").

@travisbell : Since my last comment I could not reproduce it for this URL / for this series and season.

Now the problem is here: series "S.W.A.T.", seasons 1, 2, 4, and 5:
https://api.themoviedb.org/3/tv/71790/season/1?language=de&api_key=...
https://api.themoviedb.org/3/tv/71790/season/2?language=de&api_key=...
https://api.themoviedb.org/3/tv/71790/season/4?language=de&api_key=...
https://api.themoviedb.org/3/tv/71790/season/5?language=de&api_key=...

But season 3 is correct in german:
https://api.themoviedb.org/3/tv/71790/season/3?language=de&api_key=...

When I use "language=de-de", then always the correct german data is returned.

@aeonmckay : Could you use "de-de" instead of "de" in the app as a workaround?

@travisbell : "S.W.A.T." works again, now here is the problem ("Desperate Housewives"): https://api.themoviedb.org/3/tv/693/season/3?language=de&api_key=...

Again, "language=de-de" is correct.

@KeksBln said:
@travisbell : "S.W.A.T." works again, now here is the problem ("Desperate Housewives"):
https://api.themoviedb.org/3/tv/693/season/3?language=de&api_key=...
Again, "language=de-de" is correct.

There are 3 variations for "de" language:
12 "de-AT"
13 "de-CH"
14 "de-DE"
See here https://developers.themoviedb.org/3/configuration/get-primary-translations

The default language "de" is "de-DE".

映画やテレビ番組が見つかりませんか?ログインして作成してください。

全般

s 検索バーに移動する
p プロファイルメニューを開く
esc 開いているウィンドウを閉じる
? キーボードショートカットウィンドウを開く

メディアのページ

b 戻る(または該当する場合は親に)
e 編集ページに行く

テレビ番組のシーズンのページ

(右矢印)次のシーズンに行く
(左矢印)前のシーズンに戻る

テレビ番組のエピソードのページ

(右矢印)次のエピソードに進む
(左矢印)前のエピソードに戻る

全ての画像のページ

a 画像追加ウィンドウを開く

全ての編集ページ

t 翻訳選択を開く
ctrl+ s フォームを送信する

ディスカッションのページ

n 新しいディスカッションを作成する
w 監視ステータスを切り替える
p 公開/非公開を切り替える
c 閉じる/開くを切り替える
a アクティビティを開く
r ディスカッションに返信
l 最後の返事に行く
ctrl+ enter メッセージを送信する
(右矢印)次のページ
(左矢印)前のページ

設定

このアイテムを評価したり、リストに追加したりしたいですか?

ログイン

メンバーではありませんか?

登録してコミュニティに参加