Google API を利用するときの 認証トークン の取得

ネット上で調べていると混乱する.

android_-_In_a_nutshell_what_s_the_difference_from_using_OAuth2_request_getAuthToken_and_getToken_-_Stack_Overflow

 /**
   * Gets the google account credential.
   * 
   * @param context the context
   * @param accountName the account name
   * @param scope the scope
   */
  public static GoogleAccountCredential getGoogleAccountCredential(
      Context context, String accountName, String scope) throws IOException, GoogleAuthException {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, scope);
    credential.setSelectedAccountName(accountName);
    credential.getToken();
    return credential;
  }

  /**
   * Gets the OAuth2 token.
   * 
   * @param context the context
   * @param accountName the account name
   * @param scope the scope
   */
  public static String getToken(Context context, String accountName, String scope)
      throws IOException, GoogleAuthException {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, scope);
    credential.setSelectedAccountName(accountName);
    return credential.getToken();
  }

以下, StackOverflowからの抜粋.

The Google APIs Client Library for Java is as the name suggests a library for accessing Google APIs and it is available for several platforms such as Java (in general) and Android while the Google Play Services and GoogleAuthUtil is only available on Android.

Google APIs Client Library
→ 汎用的 Java向け (Androidも含む)

GoogleAuthUtil(Google Play services)
→ Android向け専用

However if you dig into the code and their issue tracker a bit you can see that the tasks sample you linked actually uses GoogleAuthUtil since version 1.12.0 of the Google APIs Client Library when support for GoogleAuthUtil was added.

Google APIs Client Library バージョン 1.12.0 移行 は GoogleAuthUtil が追加されている.

AccountManager.getAuthToken

良いとこ:
- OS 2.0+ から使える.
- Android自体に含まれていて,別SDKを必要としない.
- 認証をもつすべてのアカウント(Google以外でも)で使える.

悪いとこ:
- トークンが期限切れなら再度新しいトークンを取得.
- GET_ACCOUNTS と USE_CREDENTIALS のパーミッションを必要とする.
- 認証要求画面が 2.x でダサい.

GoogleAuthUtil.getToken

良いとこ:
- 常に使えるトークンを返す.
- パーミッションは GET_ACCOUNTS のみ.
- 認証要求画面がダサくない
- Google が推奨している.

悪いとこ:
- 2.2+ の GooglePlay利用のデバイスに限る.
- Google Play services SDK が必要.
- Google API Console からアプリ登録が必要.
- Google services での OAuth 2.0 のみ.

android - Access to Google API - GoogleAccountCredential.usingOAuth2 vs GoogleAuthUtil.getToken() - Stack Overflow

android - In a nutshell what's the difference from using OAuth2 request getAuthToken and getToken - Stack Overflow


Google 日本語入力 で Shift キーを押さずに 大文字英文字 を入力する方法

あー, これ便利だわー.

ひらがなの入力モードで「や」をフリックすると、すっごくいろいろなカッコが入れられるんですよ。左にフリックすると「(」、右にフリックすると「)」が入れられます。さらに変換候補には様々なカッコも表示されます。

このQWERTYキーボードの「QWERTYUIOP」を上にフリックさせると、それぞれ「1234567890」を入れることができるんですよ。

【Android】Google日本語入力は「や」の左右フリック、QWERTYの上フリックがとても便利! | 明日やります

20140928-191413

20140928-191435

英文字と数字て一緒に使うことのが多くて切替えるの面倒だったので楽になります.

しかも, この英数(QWER)キーボードでボタンを下にスワイプすると, 大文字が表示されましたよ.

20140928-191501

20140928-191515

20140928-191530

ユーザIDとかパスワードとか, 入力するのがさらに簡単になります.

もしかして, いまさら?(笑)


「Google Play 開発者サービスのバージョン 5208000 を使用する APK をアップロードしました。バージョン 5100000 以下を使用してください。」でアップロードできない

なんなんだろうな, まじで.

APK_-_Google_Play_Developer_Console

バージョン 5100000 以下を使用してください

と書いてるので最新バージョンは, 5.1.00 と推定.

dependencies {
    compile "com.google.android.gms:play-services:5.1.00"
}

アウチ.

きっと, ベストな バージョンは 「5.0.89」なのでしょうね?

dependencies {
    compile "com.google.android.gms:play-services:5.0.89"
}

なんか, ここら, 最近あやしい...

「Google Play services out of date. Requires 5208000 but found 5089036」といってるけどこれは?


「Google Play services out of date. Requires 5208000 but found 5089036」といってるけどこれは?

こんなのではじめてますけど.

Google Play services out of date.  Requires 5208000 but found 5089036
GooglePlayServices not available due to error 2

1日以内の現象っぽい.

端末側のバージョンが古いのか.

20140809-080728

ネット上にあちこち出始めてるけど, これがまともっぽい.

java_-_After_update_-_crash_com_google_android_gms_play-services_5_2_8_-_Stack_Overflow

java - After update - crash com.google.android.gms:play-services:5.2.8 - Stack Overflow

アップデートがくるのをじっとまつか, 新しいバージョンの apk を探していれるか, しかなさげ.

compile 'com.google.android.gms:play-services:+'

開発リポジトリの先走りなのか, 配布の遅れなのか,

いや, もしかして API20 ?

とりあえず, 固定にしといたけど...

build_gradle

なんか最近ドタバタしてるようなー

Play Services 5.0.77 Deleted From Repo - Google グループ

Admob (gms 5.0.77) の吐いてた java.lang.NullPointerException が終わる件


Google発「25 Mobile Site Design Principles」のうち特に重要な7つ

services_google_com_fh_files_blogs_principles-of-mobile-site-design-ja_pdf

モバイルサイト設計の指針

今回は、その中でも特に重要な 7 つのヒントをご紹介します。

1. メニューは短く簡潔に

モバイル ユーザーは、長いメニューをスクロールしないと目的の項目にたどり着けないサイトは好みません。メニュー項目はできるだけ簡潔にしましょう。

z7zskDiJSisASIX_Y_eH8gkBT0_Ogymq83-gsCVB4Kv3lZ2KOjrZfCjtmjQSxtDARK-Y-md-JwKe59nbR-yQIYkaRxbzAKJQC_7Y49vWYuC6YX7q3s93xpkjuoohxQL2lQ

2. トップページには簡単に戻れるように

今回の調査で、ページ最上部のロゴをタップしてホーム ページに戻ろうとするユーザーが多く見られました。ユーザーがすぐにトップ ページに戻れる導線を意識しましょう。

fIf4ssc7Ag5r-lVSx8FnN9uy3qYxDZzsSbK7XGOTRPQvFODil5oVieyLEkJkAMoZ8sQLwpUBXNOsLrQAOm6QRifA7Q7wCOYgYVKcs-j6_Gz3EU1ptP0oPHcfrk_bjl8pUg

3. すぐに目につく場所にサイト内検索を設置

サイトでの目的がはっきりしているユーザーほど検索を利用します。モバイル ユーザーが最初に探す機能の 1 つが検索です。今回、調査対象ユーザーから最も良い反応が得られたのは、ページ最上部にはっきりと表示されたオープン テキスト形式の検索ボックスでした。

fiIdUZE1jZYzODSLZae5LWISSboivlt30VnAFzpf4M-FATTSYGFcHEQLo9mI3DCjHD972DDSzy94Iz55lBWv4rfrMr4q7eL6C_zG9VHPtVrnkO5FEwMy5VScc0NV5Jz4jg

4. シンプルな入力方法を提供する

サイトでユーザーに情報を入力してもらう場合、できるだけユーザーの負担を減らす方法を考えましょう。選択肢が少ない場合は、大きいアイコンをタップするだけで済むように、選択肢が多い場合は、プルダウンが最も簡単です。日にちを選ばせる場合には、カレンダーを表示しましょう。

2014-07-31_15-43-52

5. 拡大・縮小いらずで見やすく表示

多くの調査対象ユーザーは、画面を拡大または縮小しなければならない時に不満を感じ、この操作により重要なメッセージを見逃してしまいました。ユーザーがコンテンツのサイズを変更しなくてすむようにモバイル サイトを設計しましょう。一部のモバイル サイトは、画面上で拡大縮小を行えないようにしていました。

NOBHrRb3BPP1BsCREmywY4X8qmUlVdh1UQ6GpjfPeKmipvLwqiPHEesNYsYFDrcY2zhy7oPRzjVDLfnhJNX5BGuk5i6kkEVSC6gjxmItCayZienAHQ7WJguyi23pkxyODg

6. 最適な画面の向きを知らせ

小さい文字を読んだり、動画を観るなど、何かきっかけがない限り、調査対象ユーザーは常に同じ向きで画面を表示する傾向があります。横向きと縦向きの両方に対応できるサイトを設計するか、最適な画面の向きをユーザーに知らせてください。

1evFWegQB6xKVWkuyshjkuWiWMDzGmM3PADDaqk5-m97DHA90LC52NNB1dAkzbQzrPwvPUPwfJ2CQaZdb1uC83E-82XIrK1BgMhD2ZSIZpIb9lhHEz9wuLZ_yy8kuVfnfA

7. 別のウィンドウに移動させない

モバイルではウィンドウの切り替えが面倒なので、ユーザーがサイトに戻ってこないリスクが高くなります。次のページに進んだり、コンテンツの内容が変わっても、同じウィンドウ内で表示する工夫をしましょう。

2014-07-31_15-45-39

ご紹介した全てのヒントに共通しているのは、「モバイル ユーザーは目的がはっきりしている」という点です。モバイル ユーザーがモバイル サイトに求めるのは、目的のコンテンツやサービスをすぐ、簡単に、思いどおりの方法で手に入れること。コンテンツの魅力を損なうことなく、モバイル ユーザーの状況やニーズを考慮してサイトを設計することが成功の秘訣です。

 

以上, Google からのメールの抜粋.