明天我將進行長途飛行,並且希望能夠在離線狀態下繼續測試我的雲端點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