2016-12-01 17 views
1

私はOpenSkyApi(Documentation here)を使用しています。OpenSkyApi:文字列または文字列の配列ですか?

私は機能あなたがそれを見ることができるドキュメント上

get_states(time_secs=0, icao24=None, serials=None) 

を使用したい:

戻り値:OpenSkyStatesを要求が成功した場合、どれがそうでなければ

これは私ではありません実際には動作しないコード(fuctionはNoneを返します)

def get_flights(): 
    s = api.get_states() 
    flights = [] 
    j = 0 
    # I want just 5 best results of the first 10 elements returned with **api.get_states()** 
    for i in range(10): 
      tmp = s.states[i] 
      if tmp.icao24 != "" and tmp.latitude != "" and tmp.longitude != "" and j < 5: 
       flights.append(tmp.icao24) 
       j += 1 
    return flights 

flights = get_flights() 
s = api.get_states(icao24=flights) 

、実際にこのコードは

flights = ['43ea96', 'aa8477', 'aa56da', 'a3e917', 'a52911'] 
s = api.get_states(icao24=flights) 

print(s) 

がどのように私はdinamically文字列の配列を渡すことができます動作しますか?

p.s.機能は基本的に(例えば)JSONオブジェクトを返すREST APIです:fixje

{'altitude': 8001, 
'callsign': 'FDX1162 ', 
'heading': 317.58, 
'icao24': 'a8f9f2', 
'latitude': 39.1745, 
'longitude': -103.8766, 
'on_ground': False, 
'origin_country': 'United States', 
'sensors': None, 
'time_position': 1480590928, 
'time_velocity': 1480590928, 
'velocity': 226.49, 
'vertical_rate': -13} 

答えて

0

おかげで、オープンスカイネットワークプロジェクトの協力者、私は私の問題を修正しました。 彼がいることを私に言った: 次の表のようにあなたはレート制限を超えた場合は、APIもNoneを返します

。最初のコードで

enter image description here

秒1ので、あなたが 非常に短い時間内に二つの連続する要求を発行スニペット、

api.get_states(icao24=flights) 

なしを返しません。

関連する問題