def from_credentials_db(client_secrets, storage, api_version="v3",
                        readonly=False, http_client=None, ga_hook=None):
    """Create a client for a web or installed application.

    Create a client with a credentials stored in stagecraft db.

    Args:
        client_secrets: dict, client secrets (downloadable from
                             Google API Console)
      storage: stagecraft.apps.collectors.libs.ga.CredentialStorage,
               a Storage implementation to store credentials.
      readonly: bool, default False, if True only readonly access is requested
                from GA.
      http_client: httplib2.Http, Override the default http client used.
      ga_hook: function, a hook that is called every time a query is made
               against GA.
    """
    credentials = storage.get()

    return Client(_build(credentials, api_version, http_client), ga_hook)