小编alb*_*ier的帖子

如何使用GoogleAuthUtil.getToken返回的令牌和我的App Engine后端

我想做的事

我有一个简单的Google App Engine后端和一个简单的Android应用程序,我想要从Android App到服务器进行经过身份验证的请求.我读到了关于Google Cloud Endpoints的内容,即使它是一个非常好的API,我觉得这对我想做的事情有点过分.我只想做一个经过身份验证的HTTP请求并获取响应文本.

GET myappid.appspot.com/api/user
Run Code Online (Sandbox Code Playgroud)

应该回答:

Hello john.doe
Run Code Online (Sandbox Code Playgroud)

如果用户john.doe@gmail.com做了请求.

后端方面:

我创建了一个新的App Engine项目:

WEB_CLIENT_ID=123456789012.apps.googleusercontent.com
Run Code Online (Sandbox Code Playgroud)

并注册了一个Android应用程序("直接从Android访问API"):

package name : com.myappid
debug SHA1 fingerprint: 3a:e1:05:17:15:54:c6:c7:9b:ef:19:74:ae:5b:f7:0f:c3:d5:45:9d
Run Code Online (Sandbox Code Playgroud)

而这创造了

ANDROID_CLIENT_ID=123456789012-9f4sd525df3254s3d5s40s441df705sd.apps.googleusercontent.com
Run Code Online (Sandbox Code Playgroud)

的app.yaml

application: myappid
version: 1
runtime: python27
api_version: 1
threadsafe: true    

handlers:
- url: /api/.*
    secure: always
    script: api.APP

libraries:
- name: webapp2
    version: latest
- name: pycrypto
    version: latest
Run Code Online (Sandbox Code Playgroud)

api.py

import webapp2
from google.appengine.api import users
from google.appengine.api import oauth

class GetUser(webapp2.RequestHandler):

    def get(self):
        user = users.get_current_user()
        self.response.headers['Content-Type'] = …
Run Code Online (Sandbox Code Playgroud)

google-app-engine android oauth-2.0 google-oauth

8
推荐指数
1
解决办法
9743
查看次数

从Service线程调用Android Activity的首选方法是什么

我目前正在开发一个具有以下需求的Android应用程序:

工作线程在服务中启动.此线程执行一些处理,需要从主Activity调用,并为同一个Activity提供一些异步答案.

从Activity调用服务很容易(IBinder的东西)

我现在的问题是关于服务回调的正确实现.

我首先要在Activity中添加一个android.os.Handler并在MyActivity.handleMessage(Message)中处理线程的anwers,但是这需要我给这个处理程序引用该服务.那么,当Android OS因为方向改变而决定销毁/重新创建我的Activity时会发生什么?我的活动是否保持活跃,因为它在服务中被引用(间接)?如果活动被破坏/重建,那么我在服务中的Handler引用会发生什么?

我想我没有使用正确的方法从Service线程回调一个Activity,所以我想知道是否有人可以指出正确的做法.

TIA

multithreading android android-service

5
推荐指数
1
解决办法
1042
查看次数