明天我将进行长途飞行,并且希望能够在离线状态下继续测试我的云端点REST API。问题是User
对象是我的大多数方法不可或缺的部分,我需要互联网连接才能创建有效的OAuth令牌,以便从客户端(JavaScript)调用它们。离线测试经过身份验证的云端点方法
但是,在开发服务器上,无论您登录哪个帐户,用户始终都是相同的(使用电子邮件[email protected])。但是如果你喂它虚假标记,它会抛出一个OAuthRequestException
。
有没有什么办法可以为dev服务器离线生成有效的测试令牌?或者根本没有提供令牌的方式来访问User
对象?
这是我想在脱机状态下进行测试的方法的例子:
@ApiMethod(name = "hylyts.get")
public Hylyt getHylyt(@Named("url") String url, @Named("id") long id, User user)
throws OAuthRequestException, UnauthorizedException {
return ofy().load().type(Hylyt.class).parent(util.getArticleKey(url, user)).id(id).now();
}
这正是我所希望的。谢谢!回家测试它,然后接受飞往机场的高效飞行。 – willlma
此方法唯一潜在的缺点是您必须使用com.google.api.server.spi.auth.common.User类而不是com.google.appengine.api.users.User,没有ID属性。请参阅[此错误](https://code.google.com/p/googleappengine/issues/detail?id=12060&q=endpoints&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log) 。但有利的是,我现在知道我将来如何处理非Google帐户。 – willlma
请注意,您可以扩展'User'类并在其中添加任何您想要的内容。 – David