C# 显示OAuth2服务(服务器到服务器)帐户使用情况的任何示例
我看到的所有示例都只支持必须有用户在场的“用户”帐户 看起来最新版本的OAuth2支持用于服务器到服务器身份验证的服务帐户,其中没有人,但我正在努力寻找任何支持它的库或正在使用的实例 我还没有任何通过服务帐户进行授权的C#示例,但是Google API支持服务帐户授权流。下面是一个在Java和Python中使用GoogleBigQueryAPI的授权流的示例,使用这些语言的GoogleAPI客户端库(http://code.google.com/p/google-api-python-client/ 及) 在Python中实现的相同代码段:C# 显示OAuth2服务(服务器到服务器)帐户使用情况的任何示例,c#,oauth-2.0,C#,Oauth 2.0,我看到的所有示例都只支持必须有用户在场的“用户”帐户 看起来最新版本的OAuth2支持用于服务器到服务器身份验证的服务帐户,其中没有人,但我正在努力寻找任何支持它的库或正在使用的实例 我还没有任何通过服务帐户进行授权的C#示例,但是Google API支持服务帐户授权流。下面是一个在Java和Python中使用GoogleBigQueryAPI的授权流的示例,使用这些语言的GoogleAPI客户端库(http://code.google.com/p/google-api-python-clien
import httplib2
from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials
# REPLACE WITH YOUR Project ID
PROJECT_ID = 'XXXXXXXXXXX'
# REPLACE WITH THE SERVICE ACCOUNT EMAIL FROM GOOGLE DEV CONSOLE
SERVICE_ACCOUNT_EMAIL = 'XXXXX@developer.gserviceaccount.com'
f = file('key.p12', 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
SERVICE_ACCOUNT_EMAIL,
key,
scope='https://www.googleapis.com/auth/bigquery')
http = httplib2.Http()
http = credentials.authorize(http)
service = build('bigquery', 'v2')
datasets = service.datasets()
response = datasets.list(projectId=PROJECT_ID).execute(http)
print('Dataset list:\n')
for dataset in response['datasets']:
print("%s\n" % dataset['id'])
import httplib2
from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials
# REPLACE WITH YOUR Project ID
PROJECT_ID = 'XXXXXXXXXXX'
# REPLACE WITH THE SERVICE ACCOUNT EMAIL FROM GOOGLE DEV CONSOLE
SERVICE_ACCOUNT_EMAIL = 'XXXXX@developer.gserviceaccount.com'
f = file('key.p12', 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
SERVICE_ACCOUNT_EMAIL,
key,
scope='https://www.googleapis.com/auth/bigquery')
http = httplib2.Http()
http = credentials.authorize(http)
service = build('bigquery', 'v2')
datasets = service.datasets()
response = datasets.list(projectId=PROJECT_ID).execute(http)
print('Dataset list:\n')
for dataset in response['datasets']:
print("%s\n" % dataset['id'])