App Engine - Obtížnost Přístup Twitter data - baňky

hlasů
4

Mám problémy získávání dat z Twitteru vyhledávací API s aplikací Google App Engine. Práce v osobním vývojovém prostředí nemám žádné problémy. Jsem schopen dostat JSON chci. Nicméně, jakmile kód dostane vyslán do App Engine, jsem se setkat s Kód chyby HTTP 500.

Jediné nápadů mám na co se děje, je, že tam je nějaký zásadní rozdíl mezi dev a živými App Engine prostředí, které mi chybí a / nebo že Twitter je zamítnutí žádostí z App Engine šetření Běžím vybírat. Napsal jsem malý @ app.route absolutně ověřit, že existují problémy - je nižší než.

Jsem si jistá, že nejsem bít limit rychlosti, protože Twitter Search API není explicitně mít jeden. Viděl jsem, že požádal o user-agent, takže jsem za předpokladu, že, ale já jsem ještě stále stejný 500 chyba.

Živá verze toho, co jsem pracovat s je zde: http://1-alpha-3.rich90usa.appspot.com/twitter_test

Jakékoli myšlenky na to, co se děje špatně by bylo velmi ocenil.

Příslušná část z baňky:

@app.route('/twitter_test')
def twitter_test():
  twitter_geo_url = 'http://search.twitter.com/search.json?callback=?&rpp=100&geocode=29.6516344,-82.3248262,3mi'
  twitter_result = urlfetch.fetch(twitter_geo_url, fetch_headers)
  if twitter_result.status_code == 200:
    return twitter_result.content

Kde fetch_headers 'je předem definován jako:

fetch_headers = {'User-Agent': APPNAME-1-alpha-3}

Top mého baňky py souboru:

from flask import Flask, request, render_template, session, redirect
import oauth2 as oauth
import simplejson as json
import urlparse
import urllib
import httplib
import time

from google.appengine.api import urlfetch
Položena 28/04/2011 v 14:20
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Jak je uvedeno Calvin, vše App Engine aplikace požadavků source odchozí HTTP ze stejného poolu IP adres, takže problém je téměř jistě hodnotit omezení:

Od http://dev.twitter.com/pages/rate-limiting :

Nicméně, všechny požadavky přicházející z IP adresy jsou použity k vyhledávání Rate Limit. The Search Rate Limit není zveřejněn k zamezení zbytečného používání a zneužívání vyhledávání, ale je vyšší než ve zbytku Rate Limit. Máme pocit, že Search Rate Limit je jak liberální a dostačující pro většinu aplikací a víme, že mnoho prodejců aplikací zjistili, že je vhodná pro jejich potřeby.

Požadují rovněž z GAE specificky jako nezpůsobilé pro bílou listinu:

Žádost musí mít statickou IP adresu, aby byly způsobilé pro Whitelist. To znamená, že většina cloudových platforem, včetně Google App Engine, nemůže být na seznamu povolených.

Twitter je návrh, jak obejít omezující rychlost je přepnout do rozhraní API Streaming .

Odpovězeno 28/04/2011 v 19:15
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more