我想将OAuth添加到我的端点后端。正如“Hello Endpoints Code Walk Through”指出的那样,只需要具备以下条件:
@ApiMethod(name = "greetings.authed", path = "hellogreeting/authed")
public HelloGreeting authedGreeting(User user) {
HelloGreeting response = new HelloGreeting("hello " + user.getEmail());
return response;
}
但是如果方法类型是Post并且它包含一个正文呢?我无法将User和请求体传递给方法。
如何将OAuth与包含请求正文的Post类型方法一起使用?
答案 0 :(得分:2)
就像这样:
GIDSignIn.sharedInstance().signIn()
@ApiMethod(name = "greetings.authed", path = "hellogreeting/authed")
public HelloGreeting authedGreeting(User user, MyObject myObject) {
HelloGreeting response = new HelloGreeting("hello " + user.getEmail());
return response;
}
是Google App Engine将为您注入的注入类型,如saiyr指出的那样。
如果您确实想要在这些范围之外传递多个对象,则需要创建一个包装类,其中包含这两个对象是具有getter / setter的属性。
答案 1 :(得分:1)
两个允许的用户对象output = subprocess.run(["wget", "http://..."])
if output.returncode == 0:
< wget worked>
else:
< wget did not work>
和spi.auth.common.User
不计入资源参数,因为它们是在运行时注入的。您可以自由地将资源添加到其上具有appengine.api.users.User
参数的方法。