Google app engine 如何在Chrome扩展的url中添加用户名?
我正在开发一个以谷歌应用程序引擎为后端的chrome书签扩展。我现在是唯一的用户,但我认为如果将来有其他用户,url需要包含用户名,以便扩展与后端交互。所以我想改变一下Google app engine 如何在Chrome扩展的url中添加用户名?,google-app-engine,url,google-chrome-extension,Google App Engine,Url,Google Chrome Extension,我正在开发一个以谷歌应用程序引擎为后端的chrome书签扩展。我现在是唯一的用户,但我认为如果将来有其他用户,url需要包含用户名,以便扩展与后端交互。所以我想改变一下 http://ting-1.appspot.com/useradminpage 到 其中“user_name”是gmail用户id 但我查看了twitter的url,我发现他们 http://twitter.com/#!/user_name/ “#!”的目的是什么?在这种情况下,我的计划足够好吗 URL中的#表示“片段标识符
http://ting-1.appspot.com/useradminpage
到
其中“user_name”是gmail用户id
但我查看了twitter的url,我发现他们
http://twitter.com/#!/user_name/
“#!”的目的是什么?在这种情况下,我的计划足够好吗 URL中的#
表示“片段标识符”。历史上,这被用来标识由“锚定”标记标识的文档的一部分,但最近webapp开发人员开始使用它将有关页面状态的信息传递给页面中运行的Javascript代码。之所以使用这种方法,是因为Javascript代码可以修改当前页面的片段,而不会导致页面重新加载——这意味着它可以在您浏览webapp时更新,并直接返回到重新加载页面时的位置
当浏览器加载页面时,该片段不会发送到服务器,因此Twitter的服务器只会看到对Twitter.com的请求;这取决于页面中的Javascript代码来检查片段并确定之后要做什么
在您的特定情况下,假设您正在使用App Engine用户服务对用户进行身份验证,您有许多选项可以选择如何在URL中区分用户:
仅使用gmail用户名是不够的(如果可能的话),您需要实现一些服务器端授权。@serg,好的,我从后端注销,并使用扩展名保存页面。它仍然将指向url的链接保存在
background.html
中,但没有我的用户名(在“所有者”字段中有)。那么,这是如何工作的呢?如果另一个用户正在使用扩展,会发生什么?我想把background.html
中的url改成http://ting-1.appspot.com/user_name/useradminpage
这样每个用户都可以在其用户名下保存书签。这是一个好的解决方案吗?谢谢你的评论。问题是如何识别用户。Url格式是无关的,你可以使用任何你喜欢的。您不能只传递用户名,因为我可以轻松阅读所有其他用户的书签。除非是需要的行为,否则您需要在服务器上实现某种授权(用户名/密码,oauth)。然后,要接收用户的书签,您可以将用户名和密码传递给服务器,或者将oauth令牌传递给服务器。@serg,是的,我还没有很好的用户授权实现。我只是在使用谷歌应用程序引擎附带的用户服务。因此,按照我现在的方式,非用户可以查看主页,只是为了了解应用程序。否则,用户需要使用gmail帐户登录才能查看其书签。因此,如果我没有登录,我将无法看到此页面上的书签。那么,如何让扩展知道为每个用户向哪个用户写入书签呢?谢谢你的评论!抱歉,我不熟悉gmail登录或应用程序引擎的工作原理。
http://twitter.com/#!/user_name/