web-dev-qa-db-ja.com

google-services.jsonのGoogleAPIキーにプログラムでアクセスする方法

このアプリはGoogleクラウドメッセージングを使用し、APIキーを含むGoogleAPI認証情報を含むgoogle-services.jsonファイルが含まれています。 GCMは期待どおりに機能します。

このアプリには、HTTPを使用してGCMメッセージを送信するテスト機能が含まれており、APIキーが必要です。 google-services.jsonに保存されているキーにアクセスするにはどうすればよいですか? GoogleCloudMessagingを使用してメッセージを送信したくありません(OkHttpを使用しており、うまく機能します)。

うまくいけば、アプリでそれを複製する必要はありません。

13
Ollie C

申し訳ありませんが、ここでのゲームに少し遅れています...

_google-services.json_ファイルが解析され、その値がアクセス可能なxmlに追加されます: https://developers.google.com/Android/guides/google-services-プラグイン

あなたの場合、次のようにAPIキーを取得できます:activity.getResources().getString(R.string.google_api_key);

23
marc_ferna

GoogleCloudプラットフォームからAPIキーを取得してから認証情報に移動すると、そこからAPIキーを取得できます。 https://console.developers.google.com/

それはあなたが探しているものですか?

ただし、アクセスする必要がある場合(jsonファイル自体を変更しない限り変更しないでください)、パーサーを使用してjsonファイルを解析できます。しかし、それは必要以上の作業を追加します。 Webからコピーして貼り付けるだけです。

これを使用してNSDefualtsを使用してみてください。トークンを次のように保存します。

 if (registrationToken != nil) {
        self.registrationToken = registrationToken
        print("Registration Token: \(registrationToken)")
        //store the registation token for use in the postData function in the login page
        self.loginInformation.setObject(self.registrationToken, forKey: "GCMToken")
        let userInfo = ["registrationToken": registrationToken]

そして、次のようにプロジェクトの任意の場所で取得します。

myNoteGCMID = loginInformation.objectForKey("GCMToken") as! String

その後、変更された場合は、変更する必要はありませんが、1か所だけです。変更は、あなたがそれを呼ぶところならどこでも起こります。

0
MNM