AndroidアプリからGoogleビジネスプロフィールの営業時間を変更する方法

概要

1. 初回ログイン

  • ユーザーがアプリを初めて使用するとき、Googleアカウントでのサインインを促します。
  • ユーザーがサインインすると、アクセストークンを取得します。

2. アクセストークンの保存

  • 取得したアクセストークンを安全に保存します(例:SharedPreferences)。
  • リフレッシュトークンも同様に保存し、アクセストークンが期限切れになった場合に新しいトークンを取得できるようにします。

3. APIリクエスト

  • 保存したアクセストークンを使用して、Google My Business APIにリクエストを送信し、営業時間を更新します。

4. トークンの更新

  • アクセストークンが期限切れの場合、リフレッシュトークンを使用して新しいアクセストークンを取得します。

構築手順

1. Google Cloudプロジェクトの準備

1. Google Cloudプロジェクトの作成

  • Google Cloud Consoleにアクセスし、プロジェクトを作成します。
  • プロジェクトIDをメモしておきます。

2. Google My Business APIを有効にする

  • Google Cloud Consoleで、APIライブラリにアクセスします。
  • 「Google My Business API」を検索して有効にします。

3. OAuth 2.0 認証情報の設定

  • Google Cloud Consoleの「APIとサービス」 > 「認証情報」から、OAuth 2.0 クライアントIDを作成します。
  • アプリケーションの種類として「Android」を選択し、必要な情報を入力します。
  • クライアントIDとクライアントシークレットをメモしておきます。

2. Androidアプリの準備

1. プロジェクトに必要なライブラリを追加

  • Google Sign-Inのライブラリを追加します。
  • Retrofitを使用してAPIリクエストを行います。
dependencies {
    implementation 'com.google.android.gms:play-services-auth:19.0.0'
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
}

2. Google Sign-Inの設定

  • Googleアカウントでのサインインを設定します。
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestEmail()
    .requestScopes(new Scope("https://www.googleapis.com/auth/business.manage"))
    .build();

GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(this, gso);

Intent signInIntent = googleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);

3. サインイン結果の処理

  • サインイン結果を受け取り、アクセストークンを取得します。

4. 営業時間の更新

  • 取得したアクセストークンを使用して、Google My Business APIにリクエストを送信し、営業時間を更新します。

アクセストークンの保存とリフレッシュトークンの処理

1. アクセストークンの保存

  • 取得したアクセストークンをSharedPreferencesに保存します。

2. リフレッシュトークンの保存

  • 取得したリフレッシュトークンをSharedPreferencesに保存します。

3. トークンの更新

  • リフレッシュトークンを使用して新しいアクセストークンを取得します。

注意点

  • アクセストークンとリフレッシュトークンの保存場所は、セキュリティに十分配慮してください。SharedPreferencesはシンプルですが、より安全な方法(例えばEncryptedSharedPreferences)を検討することも重要です。
  • ユーザーのプライバシーを尊重し、適切な通知と同意を得るようにしてください。

この方法で、ユーザーが初回にGoogleアカウントでログインした後、アプリを使用してGoogleビジネスプロフィールの営業時間を更新することができます。