need help to pull data from OAUTH2.0 using script component

  • we need to pull data from TAP API (OAUTH2.0), where we need to pass authentic key +  client-id+secret key in the web service url. Authentic key validity is only 15 mins and for every 15 mins i need to regenerate new authentic key. So i am looking for how can we generate authentic key using script Component.

    FYI.. i am able to pull the data using direct API, PFB script for the same. But i am looking more into how can i generate authentic key and , how can i add that key into main url.

    below is the API code.

    #region Help:  Introduction to the Script Component

    /* The Script Component allows you to perform virtually any operation that can be accomplished in

    * a .Net application within the context of an Integration Services data flow.

    *

    * Expand the other regions which have "Help" prefixes for examples of specific ways to use

    * Integration Services features within this script component. */

    #endregion

    #region Namespaces

    using System;

    using System.Data;

    using System.Net;

    using Microsoft.SqlServer.Dts.Pipeline.Wrapper;

    using Microsoft.SqlServer.Dts.Runtime.Wrapper;

    using Newtonsoft.Json;

    using Newtonsoft.Json.Linq;

    #endregion

    /// <summary>

    /// This is the class to which to add your code.  Do not change the name, attributes, or parent

    /// of this class.

    /// </summary>

    [Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]

    public class ScriptMain : UserComponent

    {

    /// <summary>

    /// This method is called once, before rows begin to be processed in the data flow.

    ///

    /// You can remove this method if you don't need to do anything here.

    /// </summary>

    public override void PreExecute()

    {

    base.PreExecute();

    try

    {

    //denodoJSONRequest = new WebClient();

    //denodoJSONRequest.UseDefaultCredentials = true;

    //denodoJSONRequest.Credentials = new NetworkCredential(denodoUser, denodoPsswd);

    //denodoJSONResponse = denodoJSONRequest.DownloadString(DenodoRequestURL);

    }

    catch (Exception ex)

    {

    }

    }

    /// <summary>

    /// This method is called after all the rows have passed through this component.

    ///

    /// You can delete this method if you don't need to do anything here.

    /// </summary>

    public override void PostExecute()

    {

    base.PostExecute();

    /*

    * Add your code here

    */

    }

    public override void CreateNewOutputRows()

    {

    string DenodoRequestURL = Variables.PDenodoURL;

    string denodoUser = Variables.PDenodoUser;

    string denodoPsswd = Variables.PDenodoPsswd;

    WebClient denodoJSONRequest;

    string denodoJSONResponse;

    denodoJSONRequest = new WebClient();

    denodoJSONRequest.UseDefaultCredentials = true;

    denodoJSONRequest.Credentials = new NetworkCredential(denodoUser, denodoPsswd);

    denodoJSONResponse = denodoJSONRequest.DownloadString(DenodoRequestURL);

    if (!String.IsNullOrEmpty(denodoJSONResponse))

    {

    JObject jsonObject = JObject.Parse(denodoJSONResponse);

    JToken jsonElements = jsonObject["elements"];

    foreach (var json in jsonElements)

    {

    DenodoResponseBuffer.AddRow();

    DenodoResponseBuffer.column1 = int.Parse(json["column1"].ToString().Trim());

    DenodoResponseBuffer.column2 = int.Parse(json["column2"].ToString().Trim());

    DenodoResponseBuffer.column3 = json["column3"].ToString().Trim();

    DenodoResponseBuffer.column4 = json["column4"].ToString().Trim();

    DenodoResponseBuffer.column5 = DateTime.Parse(json["column5"].ToString().Trim());

    DenodoResponseBuffer.column6 = DateTime.Parse(json["column6"].ToString().Trim());

    }

     

    }

    }

    }

  • Thanks for posting your issue and hopefully someone will answer soon.

    This is an automated bump to increase visibility of your question.

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply