Try the following - it should prompt you the first time, but then write the credentials to disk and read them in for subsequent invocations:
import httplib2
from oauth2client.file import Storage
from oauth2client.client import flow_from_clientsecrets
from oauth2client.tools import run_flow, argparser
from apiclient.discovery import build
storage = Storage("/path/to/saved_user_creds.dat")
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = run_flow(flow_from_clientsecrets("/path/to/client_secrets.json", scope=["scope1" ,"scope2"]), storage, argparser.parse_args([]))
http = credentials.authorize(httplib2.Http())
# Use the http object as needed...
service = build("bigquery", "v1")
result = service.object().method(name=value).execute(http=http)