Привет, на этот раз я спросил погоду через https://query.yahooapis.com/v1/public/yql, но сейчас это недоступно.
Я переписал свой сценарий, но что-то не так, пока Yahoo отправил мне ответ. Пожалуйста, предоставьте действительные учетные данные. ответить.
Мой новый скрипт выглядит так:
import httplib
import oauth.oauth as oauth
CLIENT_ID = 'xxxxxxxxxx'
CLIENT_SECRET = 'xxxxxxx'
HOST = 'weather-ydn-yql.media.yahoo.com'
PROTOCOL = 'https://'
RESOURCE_PATH = '/forecastrss?location=szentendre%2Chu&format=json&u=c'
NULL_TOKEN = None
RESOURCE_URL = PROTOCOL + HOST + RESOURCE_PATH
class OC(oauth.OAuthClient):
def __init__(self, server):
self.server = server
self.connection = httplib.HTTPSConnection("%s" % (self.server))
def access_resource(self, oauth_request):
print 'OAuth Header : %s' % str(oauth_request.to_header())
self.connection.request('GET', RESOURCE_PATH, headers = oauth_request.to_header())
response = self.connection.getresponse()
return response.read()
client = OC(HOST)
consumer = oauth.OAuthConsumer(CLIENT_ID, CLIENT_SECRET)
signature_method_hmac_sha1 = oauth.OAuthSignatureMethod_HMAC_SHA1()
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer,
token = NULL_TOKEN, http_method = 'GET', http_url = RESOURCE_URL)
oauth_request.sign_request(signature_method_hmac_sha1, consumer, NULL_TOKEN)
result = client.access_resource(oauth_request)
Мой вопрос: что я делаю не так? Хотя из руководства Yahoo я вижу только самое старое, не работает / описание запроса. Может ли кто-нибудь мне помочь?