我正在制作的网站可以将您的帐户与您的YouTube帐户相关联。从localhost,这可以很好地工作,但是从该站点,即step1tuts.appspot.com,它不起作用。当我将用户从我的网站重定向到身份验证页面时,我收到以下消息:
您请求的页面无法显示。另一个网站是 请求访问您的Google帐户,但发送的格式不正确 请求。请联系您尝试使用的网站 收到此消息以通知他们错误。
处理此身份验证的代码如下所示:
client = youtube.get_client()
client.developer_key = 'AI39si759T7YcZ4E3XvICpZr3cGwQ0Ev4AjwyJrVSS6AW6NUc7_t10DX1JsngWzU4YoGjpsjAUTejav0hgXp9vDuM7a83tDXzQ'
client.client_id = 'step1tuts.com'
domain = 'http://' + os.environ['HTTP_HOST']+"/user/youtube_token"
scope = 'http://gdata.youtube.com'
url = client.GenerateAuthSubURL(domain,scope,secure=False,session=True)
self.redirect(str(url))
return
我正在重定向到的url,以/ auth_token结尾然后处理它从youtube返回的令牌,但错误发生在这里。
为了清楚起见,youtube.get_client方法是我开发的方法,用于重用使客户端可以准备就绪的过程:代码为:
def get_client():
client = gdata.youtube.service.YouTubeService()
run_on_appengine(client)
client.developer_key = 'AI39si759T7YcZ4E3XvICpZr3cGwQ0Ev4AjwyJrVSS6AW6NUc7_t10DX1JsngWzU4YoGjpsjAUTejav0hgXp9vDuM7a83tDXzQ'
client.client_id = 'step1tuts.com'
user = users.get_current_user()
if(user and user.yt_token):
client.SetAuthSubToken(user.yt_token)
return client
在粘贴此代码时,我注意到我正在复制我给开发人员密钥的部分。我认为这不是问题所在,但我会从代码的身份验证部分中删除它,看看会发生什么。
通过观察用户被重定向到的URL,问题必须是可追踪的,所以只是为了一些额外的信息,我在使用SDK在本地计算机上使用应用程序时重定向到的URL,它的工作原理:
当我在制作中使用相同的代码时,我被重定向到的网址:
答案 0 :(得分:1)
有趣。除此之外,所有其他网址都有效。可能是youtube方面的一个错误?我刚加了一个'。'在您的域的末尾,请求似乎通过。也许你可以尝试一下?