Новый запрос Yahoo Weater через API - PullRequest
0 голосов
/ 15 января 2019

Привет, на этот раз я спросил погоду через 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 я вижу только самое старое, не работает / описание запроса. Может ли кто-нибудь мне помочь?

...