2016-02-11 3 views

ответ

3

Watson Analytics предлагает REST API-интерфейсы для загрузки данных с использованием 3-ножками аутентификации OAuth2.

код выглядит следующим образом для Ruby On Rails приложения с помощью oauth2-клиента перл:

Во-первых, вам нужно сгенерировать код аутентификации URL и перенаправляет пользователя к нему для того, чтобы им войти и авторизуйте своего клиента API.

clientid = '<your client-id>' 
secret = '<your secret>' 
redirect_uri = 'http://localhost:3000/redirect' 
client = OAuth2Client::Client.new('https://api.ibm.com', 
    clientid, 
    secret, 
    { 
     :authorize_path => 'https://api.ibm.com/watsonanalytics/run/clientauth/v1/auth', 
     :token_path => 'https://api.ibm.com/watsonanalytics/run/oauth2/v1/token' 
    }) 
auth_url = client.authorization_code.authorization_path(:redirect_uri => redirect_uri, :scope => 'userContext') 
redirect_to(auth_url) 

Далее, вам нужно иметь маршрут от ссылки/переадресацию на контроллер, который может извлекать маркер доступа.

headers = {'X-IBM-Client-Id' => clientid, 'X-IBM-Client-Secret' => secret} 
response = client.authorization_code.get_token(params[:code], {:headers => headers}) 
body = JSON.parse(response.body) 
access_token = body["access_token"] 
headers[:'Authorization'] = 'Bearer ' + access_token 

Как только у вас есть токен доступа, это простая задача для вызова API.

connection = Faraday.new('https://api.ibm.com') 
response = connection.get('/watsonanalytics/run/accounts/v1/me',{} , headers) 
puts JSON.parse(response.body) 

Вы можете использовать/данные/v1/наборов данных конечной точки для создания набора данных и добавить в него данные.

Кроме того, вам необходимо будет получить идентификатор и секрет клиента OAuth2, чтобы использовать API, а также учетную запись Watson Analytics. Вы можете найти дополнительную информацию о девелоперском центре.

https://developer.ibm.com/watson-analytics/

Смежные вопросы