Androidã®AccountManagerã使ã£ãOAuth2èªè¨¼ã¯ä½ã ãæªãã
Androidã®OSã®ã¢ã«ã¦ã³ãããã¼ã¸ã£çµç±ã§ã®OAuth2ã試ãã¦ã¿ãã、ã©ããæªãã。
ã¾ã、AccountManagerçµç±ã§AuthTokenãåå¾ããæauthTokenType(OAuth2ã§ããã¨ããã®scopeãããã)ãã©ãè¨å®ããã°ããã®ã?
ä¸å¿ãªã¹ãã¯ãã。ããã、Googleã®APIã®å ¨ã¦ãç¶²ç¾ ãã¦ããããã§ã¯ãªã。
Frequently Asked Questions - Google Data APIs — Google Developers
ä¾ãã°、「https://www.googleapis.com/auth/userinfo.profile」ã¨ã「 https://www.googleapis.com/auth/adsense.readonly」ã使ãå ´åã©ãããã°ããã®ã?GoogleDriveã¯?
ã¿ããªå®å ¨ãªãªã¹ããç¸å½æ¢ãã¦ããã¿ããã ãã©、ã¾ã¨ããªããã¥ã¡ã³ãã¯ä¸ã®è¨äºããããããªãããã 。
èªåãæ£ã æ¢ãã¾ãã£ãæå¥、ä¸ã®è¨äºã®ãªã¹ãã«ãªãscopeãæå®ããæ¹æ³ãåãã£ã。
OAuth2 - google-api-java-client - OAuth 2.0 - Google APIs Client Library for Java - Google Project Hosting
ä¾ãã°「https://www.googleapis.com/auth/userinfo.profile」ãauthTokenTypeã«æå®ããã«ã¯「oauth2:https://www.googleapis.com/auth/userinfo.profile」ã¨URLã®é ã«「oauth2:」ã¨ã¤ãã¦æå®ããã°ããããã。
ããã¯ã§ãã。ä¸ã®è¨äºã«ããã³ã¼ããåèã«ä¸é¨ã®ã³ã¼ããæ¸ãã¨ãããªé¢¨。
ãã ã、æ³¨ææ¸ããããããã«、ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ã¯ã»ã¹ã許å¯ããç»é¢ã§ãµã¼ãã¹åã§åºã、URLããã®ã¾ã¾åºã¦ãã¾ã。ãããªæã。
ICS以éã ã¨ã¡ããã¨ãµã¼ãã¹åã§åºãããã ãã©è©¦ãã¦ãªã。
ããã¦Googleã¢ã«ã¦ã³ãã®「Google ã¢ã«ã¦ã³ã ã«è¨±å¯ãããã¢ã¯ã»ã¹」ãè¦ãã¨、許å¯ãããã¢ããªã±ã¼ã·ã§ã³ã¯ãã®ããã«è¡¨ç¤ºããããã¨ãããã£ã。
ããã¯èª¿åãæªããª(*´Ð`)
ããã«、scopeãè¤æ°ããå ´åã¯ã¹ãã¼ã¹ã§åºåã£ã¦æå®ããã°ãããããªãã¨ãæ¸ãã¦ãããã©、è¤æ°æå®ããã¨ãã®ãããªç»é¢ã«ãªã£ã¦æ£ãããã¹ã¯ã¼ããå ¥åãã¦ãå ã¸é²ããªããªã。
AccountManagerã使ãã°、ã¦ã¼ã¶ã¼ã«å¯¾ãã¦WebViewã«è¡¨ç¤ºããOAuth2ã®ç»é¢ã§ã¦ã¼ã¶ã¼IDããã¹ã¯ã¼ãã®å ¥åãæ±ããªãã¦ãããªããã®ã®、ãã®ãããªåé¡ããããã¨ãèããã¨AccountManagerã¯æ¬å½ã«å®ç¨çãªã®ãã©ããçåã 。
ä»ã«ãã¾ãããæ¹ãããã®ã ããã?
AccountManagerã«ä¾åããã¨ãã®ãããªåé¡ã、Googleçã¨ãã¥ã§ããåä½ããããã¨ãã§ãã、ããé«éãªx86çã¨ãã¥ã使ããªããªã。
ç´ç·æ¢æ»: Androidã®ã¨ãã¥ã¬ã¼ã¿ã¼ã§ã¢ã«ã¦ã³ãã追å ããï¼ã¤ã®æ¹æ³
OSã®ãã¼ã¸ã§ã³ãã¨ã«åä½ãå¤ãã£ã¦ãããã ã¨ããã¨ãããæ°ã«ãªã。
ãã¼ã。ã©ãããããã・・・
追è¨12.08.06:ãã¡ãã®ããã°ã¯AccountManagerçµç±ã§ã®èªè¨¼ã«ã¤ãã¦è©³ãã
Switch Your Coding Life: Android - Account manager - Part I
ã¾ã、AccountManagerçµç±ã§AuthTokenãåå¾ããæauthTokenType(OAuth2ã§ããã¨ããã®scopeãããã)ãã©ãè¨å®ããã°ããã®ã?
ä¸å¿ãªã¹ãã¯ãã。ããã、Googleã®APIã®å ¨ã¦ãç¶²ç¾ ãã¦ããããã§ã¯ãªã。
Frequently Asked Questions - Google Data APIs — Google Developers
ä¾ãã°、「https://www.googleapis.com/auth/userinfo.profile」ã¨ã「 https://www.googleapis.com/auth/adsense.readonly」ã使ãå ´åã©ãããã°ããã®ã?GoogleDriveã¯?
ã¿ããªå®å ¨ãªãªã¹ããç¸å½æ¢ãã¦ããã¿ããã ãã©、ã¾ã¨ããªããã¥ã¡ã³ãã¯ä¸ã®è¨äºããããããªãããã 。
èªåãæ£ã æ¢ãã¾ãã£ãæå¥、ä¸ã®è¨äºã®ãªã¹ãã«ãªãscopeãæå®ããæ¹æ³ãåãã£ã。
OAuth2 - google-api-java-client - OAuth 2.0 - Google APIs Client Library for Java - Google Project Hosting
・・・The OAuth 2.0 scope is specified via the "authTokenType" as "oauth2:" plus the scope, for example "oauth2:https://www.googleapis.com/auth/tasks"・・・However, in prior Android SDKs, it will literally echo the authTokenType "oauth2:https://www.googleapis.com/auth/tasks" in the permission page. This will be fixed in the future, but for now that is the best you can do.if you need multiple OAuth 2.0 scopes, use a space-separated list.・・・
ä¾ãã°「https://www.googleapis.com/auth/userinfo.profile」ãauthTokenTypeã«æå®ããã«ã¯「oauth2:https://www.googleapis.com/auth/userinfo.profile」ã¨URLã®é ã«「oauth2:」ã¨ã¤ãã¦æå®ããã°ããããã。
ããã¯ã§ãã。ä¸ã®è¨äºã«ããã³ã¼ããåèã«ä¸é¨ã®ã³ã¼ããæ¸ãã¨ãããªé¢¨。
public void onClickBtn(View view) { String authTokenType = "oauth2:https://www.googleapis.com/auth/userinfo.email"; //String authTokenType = "oauth2:https://www.googleapis.com/auth/userinfo.profile oauth2:https://www.googleapis.com/auth/userinfo.email"; AccountManager am = AccountManager.get(this); am.getAuthTokenByFeatures("com.google", authTokenType, null, AccountManagerTestActivity.this, null, null, new AccountManagerCallback<Bundle>() { public void run(AccountManagerFuture<Bundle> future) { try { Bundle bundle = future.getResult(); String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN); Log.v("run", "authToken=" + authToken); getUserInfo(authToken); } catch (Exception e) { Log.v("run", e.getMessage(), e); } } }, null); }
ãã ã、æ³¨ææ¸ããããããã«、ã¢ããªã±ã¼ã·ã§ã³ã®ã¢ã¯ã»ã¹ã許å¯ããç»é¢ã§ãµã¼ãã¹åã§åºã、URLããã®ã¾ã¾åºã¦ãã¾ã。ãããªæã。
ICS以éã ã¨ã¡ããã¨ãµã¼ãã¹åã§åºãããã ãã©è©¦ãã¦ãªã。
ããã¦Googleã¢ã«ã¦ã³ãã®「Google ã¢ã«ã¦ã³ã ã«è¨±å¯ãããã¢ã¯ã»ã¹」ãè¦ãã¨、許å¯ãããã¢ããªã±ã¼ã·ã§ã³ã¯ãã®ããã«è¡¨ç¤ºããããã¨ãããã£ã。
ããã¯èª¿åãæªããª(*´Ð`)
ããã«、scopeãè¤æ°ããå ´åã¯ã¹ãã¼ã¹ã§åºåã£ã¦æå®ããã°ãããããªãã¨ãæ¸ãã¦ãããã©、è¤æ°æå®ããã¨ãã®ãããªç»é¢ã«ãªã£ã¦æ£ãããã¹ã¯ã¼ããå ¥åãã¦ãå ã¸é²ããªããªã。
AccountManagerã使ãã°、ã¦ã¼ã¶ã¼ã«å¯¾ãã¦WebViewã«è¡¨ç¤ºããOAuth2ã®ç»é¢ã§ã¦ã¼ã¶ã¼IDããã¹ã¯ã¼ãã®å ¥åãæ±ããªãã¦ãããªããã®ã®、ãã®ãããªåé¡ããããã¨ãèããã¨AccountManagerã¯æ¬å½ã«å®ç¨çãªã®ãã©ããçåã 。
ä»ã«ãã¾ãããæ¹ãããã®ã ããã?
AccountManagerã«ä¾åããã¨ãã®ãããªåé¡ã、Googleçã¨ãã¥ã§ããåä½ããããã¨ãã§ãã、ããé«éãªx86çã¨ãã¥ã使ããªããªã。
ç´ç·æ¢æ»: Androidã®ã¨ãã¥ã¬ã¼ã¿ã¼ã§ã¢ã«ã¦ã³ãã追å ããï¼ã¤ã®æ¹æ³
OSã®ãã¼ã¸ã§ã³ãã¨ã«åä½ãå¤ãã£ã¦ãããã ã¨ããã¨ãããæ°ã«ãªã。
ãã¼ã。ã©ãããããã・・・
追è¨12.08.06:ãã¡ãã®ããã°ã¯AccountManagerçµç±ã§ã®èªè¨¼ã«ã¤ãã¦è©³ãã
Switch Your Coding Life: Android - Account manager - Part I
ã³ã¡ã³ã
ã³ã¡ã³ããæç¨¿