1

我对 Google App Engine 上的 Flickr OAuth 有一个奇怪的问题:

我正在使用附加的代码从 Flickr 请求 oauth 令牌和机密。在 App Engine 上测试时,它大部分时间都失败了。Flickr 返回一个页面说

“Flickr 出现了问题。我们现在正在调查这个问题……”

起初我认为这可能是 Flickr 的问题.. 但是如果我直接将 URL 复制到 chrome 中,我可以获得 oauth 令牌和秘密.. 所以我认为这可能是我的代码获取 URL 的问题..但事实上,使用相同的代码,我也可以在localhost获取令牌和秘密..

现在我真的很困惑..因为直到最近它才能完美运行.. App Engine 开发服务器上是否有任何可能导致问题的更新?请帮忙!!!

        url = "http://www.flickr.com/services/oauth/request_token"
        params = {
            "oauth_timestamp": str(int(time())),
            "oauth_signature_method": "HMAC-SHA1",
            "oauth_version": "1.0",
            "oauth_nonce": sha1(str(random())).hexdigest(),
            "oauth_callback": API_CALLBACK,
            "oauth_consumer_key": API_KEY,
        }
        # Setup the Consumer with the key-secret given by Flickr
        consumer = oauth2.Consumer(key=API_KEY, secret=API_SECRET)

        # Create request
        req = oauth2.Request(method="GET", url=url, parameters=params)

        # Create signature
        signature = oauth2.SignatureMethod_HMAC_SHA1().sign(req, consumer, None)

        # Add the Signature to the request
        req['oauth_signature'] = signature

        h = httplib2.Http()
        resp, content = h.request(req.to_url(), "GET")

更新:我稍微更改了代码,如果我没有得到令牌,请继续请求(允许最大尝试)。它工作......仍然,我不得不写这样的解决方法非常烦人。如果有更好的替代品将不胜感激!

4

1 回答 1

0

您需要使用 https 而不是 http(请参阅上面的评论线程)

于 2013-12-09T16:04:56.000 回答