<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Error importing .pbix file through powerbi-client in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250553#M7763</link>
    <description>&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/41695"&gt;@Amritha&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;If you're using the NodeJS Power BI SDK, &lt;A href="https://github.com/Microsoft/PowerBI-Node" target="_self"&gt;it is no longer supported&lt;/A&gt;. Try to directly call the REST API instead.&lt;/P&gt;
&lt;P&gt;I don't know NodeJS, you can reference how I call the &lt;A href="https://msdn.microsoft.com/en-us/library/mt243840.aspx" target="_self"&gt;Create Import&lt;/A&gt; REST API in C#.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt; static void Main(string[] args)
        {
            //Import sample 
            string pbixPath = @"C:\test\2.pbix";
            string datasetDisplayName = "mydataset";

            string importResponse = Import(string.Format("{0}/groups/{1}/imports?datasetDisplayName={2}", datasetsBetaUri, groupId, datasetDisplayName), pbixPath,"Bearer Token here");
              
            Console.WriteLine(importResponse);

        }

        public static string Import(string url, string fileName,string bearerToken)
        {
            string responseStatusCode = string.Empty;

            string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
            byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.ContentType = "multipart/form-data; boundary=" + boundary;
            request.Method = "POST";
            request.KeepAlive = true;
            request.Headers.Add("Authorization", String.Format("Bearer {0}", bearerToken));

            using (Stream rs = request.GetRequestStream())
            {
                rs.Write(boundarybytes, 0, boundarybytes.Length);

                string headerTemplate = "Content-Disposition: form-data; filename=\"{0}\"\r\nContent-Type: application / octet - stream\r\n\r\n";
                string header = string.Format(headerTemplate, fileName);
                byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
                rs.Write(headerbytes, 0, headerbytes.Length);

                using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    byte[] buffer = new byte[4096];
                    int bytesRead = 0;
                    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        rs.Write(buffer, 0, bytesRead);
                    }
                }

                byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
                rs.Write(trailer, 0, trailer.Length);
            }
            using (HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse)
            {
                responseStatusCode = response.StatusCode.ToString();
            }
                         return responseStatusCode;
        }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 13 Sep 2017 06:37:08 GMT</pubDate>
    <dc:creator>Eric_Zhang</dc:creator>
    <dc:date>2017-09-13T06:37:08Z</dc:date>
    <item>
      <title>Error while importing .pbix using powerbi-client</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250091#M7751</link>
      <description>&lt;PRE&gt;TypeError: Cannot read property 'importState' of undefined
    at C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cli\lib\cli-impor
t.js:69:70
    at C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cli\node_modules\
powerbi-api\lib\autorest\operations\imports.js:416:14
    at retryCallback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cl
i\node_modules\ms-rest\lib\filters\systemErrorRetryPolicyFilter.js:85:9)
    at retryCallback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cl
i\node_modules\ms-rest\lib\filters\exponentialRetryPolicyFilter.js:135:9)
    at handleRedirect (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-c
li\node_modules\ms-rest\lib\filters\redirectFilter.js:36:9)
    at Request._callback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerb
i-cli\node_modules\ms-rest\lib\requestPipeline.js:126:16)
    at Request.self.callback (C:\Users\Admin\AppData\Roaming\npm\node_modules\po
werbi-cli\node_modules\request\request.js:187:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.&amp;lt;anonymous&amp;gt; (C:\Users\Admin\AppData\Roaming\npm\node_modules\powe
rbi-cli\node_modules\request\request.js:1044:10)

How it can be resolved, Is there any fix for the following error?&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 Sep 2017 12:35:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250091#M7751</guid>
      <dc:creator>Amritha</dc:creator>
      <dc:date>2017-09-12T12:35:26Z</dc:date>
    </item>
    <item>
      <title>Error importing .pbix file through powerbi-client</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250087#M7761</link>
      <description>&lt;PRE&gt;TypeError: Cannot read property 'importState' of undefined
    at C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cli\lib\cli-impor
t.js:69:70
    at C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cli\node_modules\
powerbi-api\lib\autorest\operations\imports.js:416:14
    at retryCallback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cl
i\node_modules\ms-rest\lib\filters\systemErrorRetryPolicyFilter.js:85:9)
    at retryCallback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-cl
i\node_modules\ms-rest\lib\filters\exponentialRetryPolicyFilter.js:135:9)
    at handleRedirect (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerbi-c
li\node_modules\ms-rest\lib\filters\redirectFilter.js:36:9)
    at Request._callback (C:\Users\Admin\AppData\Roaming\npm\node_modules\powerb
i-cli\node_modules\ms-rest\lib\requestPipeline.js:126:16)
    at Request.self.callback (C:\Users\Admin\AppData\Roaming\npm\node_modules\po
werbi-cli\node_modules\request\request.js:187:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.&amp;lt;anonymous&amp;gt; (C:\Users\Admin\AppData\Roaming\npm\node_modules\powe
rbi-cli\node_modules\request\request.js:1044:10)

How it can be resolved, Is there any fix for the following error?&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 Sep 2017 12:31:08 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250087#M7761</guid>
      <dc:creator>Amritha</dc:creator>
      <dc:date>2017-09-12T12:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: Error importing .pbix file through powerbi-client</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250553#M7763</link>
      <description>&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/41695"&gt;@Amritha&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;If you're using the NodeJS Power BI SDK, &lt;A href="https://github.com/Microsoft/PowerBI-Node" target="_self"&gt;it is no longer supported&lt;/A&gt;. Try to directly call the REST API instead.&lt;/P&gt;
&lt;P&gt;I don't know NodeJS, you can reference how I call the &lt;A href="https://msdn.microsoft.com/en-us/library/mt243840.aspx" target="_self"&gt;Create Import&lt;/A&gt; REST API in C#.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt; static void Main(string[] args)
        {
            //Import sample 
            string pbixPath = @"C:\test\2.pbix";
            string datasetDisplayName = "mydataset";

            string importResponse = Import(string.Format("{0}/groups/{1}/imports?datasetDisplayName={2}", datasetsBetaUri, groupId, datasetDisplayName), pbixPath,"Bearer Token here");
              
            Console.WriteLine(importResponse);

        }

        public static string Import(string url, string fileName,string bearerToken)
        {
            string responseStatusCode = string.Empty;

            string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
            byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.ContentType = "multipart/form-data; boundary=" + boundary;
            request.Method = "POST";
            request.KeepAlive = true;
            request.Headers.Add("Authorization", String.Format("Bearer {0}", bearerToken));

            using (Stream rs = request.GetRequestStream())
            {
                rs.Write(boundarybytes, 0, boundarybytes.Length);

                string headerTemplate = "Content-Disposition: form-data; filename=\"{0}\"\r\nContent-Type: application / octet - stream\r\n\r\n";
                string header = string.Format(headerTemplate, fileName);
                byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
                rs.Write(headerbytes, 0, headerbytes.Length);

                using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    byte[] buffer = new byte[4096];
                    int bytesRead = 0;
                    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        rs.Write(buffer, 0, bytesRead);
                    }
                }

                byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
                rs.Write(trailer, 0, trailer.Length);
            }
            using (HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse)
            {
                responseStatusCode = response.StatusCode.ToString();
            }
                         return responseStatusCode;
        }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 06:37:08 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Error-while-importing-pbix-using-powerbi-client/m-p/250553#M7763</guid>
      <dc:creator>Eric_Zhang</dc:creator>
      <dc:date>2017-09-13T06:37:08Z</dc:date>
    </item>
  </channel>
</rss>

