<?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 Files on Google drive in Product Forum</title>
    <link>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74316#M26921</link>
    <description>Hi, I am working on a bot which would read around 72 google sheets in a folder on google drive and perform validations on the rows on the google sheet.&amp;nbsp; How to get the bot to read the google sheet file names and make sure it goes and reads the unread google sheets.&amp;nbsp;&lt;BR /&gt;thanks&lt;BR /&gt;&lt;BR /&gt;------------------------------&lt;BR /&gt;Masoma Khatoon&lt;BR /&gt;------------------------------&lt;BR /&gt;</description>
    <pubDate>Wed, 22 Dec 2021 18:03:00 GMT</pubDate>
    <dc:creator>MasomaKhatoon</dc:creator>
    <dc:date>2021-12-22T18:03:00Z</dc:date>
    <item>
      <title>Files on Google drive</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74316#M26921</link>
      <description>Hi, I am working on a bot which would read around 72 google sheets in a folder on google drive and perform validations on the rows on the google sheet.&amp;nbsp; How to get the bot to read the google sheet file names and make sure it goes and reads the unread google sheets.&amp;nbsp;&lt;BR /&gt;thanks&lt;BR /&gt;&lt;BR /&gt;------------------------------&lt;BR /&gt;Masoma Khatoon&lt;BR /&gt;------------------------------&lt;BR /&gt;</description>
      <pubDate>Wed, 22 Dec 2021 18:03:00 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74316#M26921</guid>
      <dc:creator>MasomaKhatoon</dc:creator>
      <dc:date>2021-12-22T18:03:00Z</dc:date>
    </item>
    <item>
      <title>RE: Files on Google drive</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74317#M26922</link>
      <description>Hi Masoma,&lt;BR /&gt;&lt;BR /&gt;For this specific requirement you can use both &lt;A href="https://developers.google.com/drive/api/v3/reference" target="_blank" rel="noopener"&gt;Google Drive API&lt;/A&gt; and &lt;A href="https://developers.google.com/sheets/api/samples/reading" target="_blank" rel="noopener"&gt;Google Sheet API&amp;nbsp;&lt;/A&gt; . For integrating both these services with Blueprism you can use the the DX exchange connectors as well: &lt;A href="https://digitalexchange.blueprism.com/dx/entry/9648/solution/drive-api-v3-2" target="_blank" rel="noopener"&gt;Google Drive V3&lt;/A&gt; and &lt;A href="https://digitalexchange.blueprism.com/dx/entry/9648/solution/google-sheets-api-v4-3" target="_blank" rel="noopener"&gt;Google Sheets V4&amp;nbsp;&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;For using the services, you need to create a service account in your Google Workspace and then you can enable the APIs and generate the private keys which will be used in the credential manager of your Blue Prism client. You can refer to the documentations in each of the DX exchange connector page which explains it clearly.&lt;BR /&gt;&lt;BR /&gt;Theoretically there are two straightforward solutions that come to my mind:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;First Solution:&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;- First, you can use the list function call of drives from Google Drive API which will return you all the drive ID's in your Google Drive account.&amp;nbsp; You can filter out the correct drive id where you want to work&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE translate="no" dir="ltr" is-upgraded=""&gt;GET &lt;A href="https://www.googleapis.com/drive/v3/drives" target="test_blank"&gt;https://www.googleapis.com/drive/v3/drives&lt;/A&gt;&lt;/PRE&gt;
&lt;BR /&gt;- Second, you can use the list function call of files from Google Drive API which will return you all the file ID's at the respective 'driveid' parameter which you provide. (Determine the drive id first using the first step)&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE translate="no" dir="ltr" is-upgraded=""&gt;&lt;A href="https://www.googleapis.com/drive/v3/files" target="test_blank"&gt;https://www.googleapis.com/drive/v3/files&lt;/A&gt;&lt;/PRE&gt;
&lt;BR /&gt;- Once all the file id's are determined, iterate through them one by one and you can use the API functions of Google Sheets API. There all the functions accept a parameter called as 'sheetid' which is same as the current 'fileid' you are working on. Pass the aprameter and perform the operation.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Second Solution:&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;- First, you can use the list function call of drives from Google Drive API which will return you all the drive ID's in your Google Drive account.&amp;nbsp; You can filter out the correct drive id where you want to work&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE translate="no" dir="ltr" is-upgraded=""&gt;GET &lt;A href="https://www.googleapis.com/drive/v3/drives" target="test_blank"&gt;https://www.googleapis.com/drive/v3/drives&lt;/A&gt;&lt;/PRE&gt;
&lt;BR /&gt;- Second, you can use the list function call of files from Google Drive API which will return you all the file ID's at the respective 'driveid' parameter which you provide. (Determine the drive id first using the first step)&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE translate="no" dir="ltr" is-upgraded=""&gt;&lt;A href="https://www.googleapis.com/drive/v3/files" target="test_blank"&gt;https://www.googleapis.com/drive/v3/files&lt;/A&gt;&lt;/PRE&gt;
&lt;BR /&gt;- Once all the file id's are determined, iterate through them one by one and you can use the export function of the Drive API itself to download the files as a bit stream and then you can write the same to any given excel file. This will download the files for you and then you can perform excel operations directly.&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE translate="no" dir="ltr" is-upgraded=""&gt;GET &lt;A href="https://www.googleapis.com/drive/v3/files/" target="test_blank"&gt;https://www.googleapis.com/drive/v3/files/&lt;/A&gt;&lt;DEVSITE-VAR ready="" class="apiparam" translate="no" is-upgraded="" scope="fileId"&gt;&lt;SPAN class="devsite-var-wrapper"&gt;&lt;VAR spellcheck="false" is-upgraded=""&gt;fileId&lt;/VAR&gt;&lt;/SPAN&gt;&lt;/DEVSITE-VAR&gt;/export&lt;/PRE&gt;
&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;NOTE: The second solution won't be using Google Sheets API at all however, the limitation is that you can only download files worth 10 MB if I am not wrong. Moreover, continuous downloading might make your workflow bit complicated as you need to check as well if the files are getting downloaded properly or not&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;------------------------------&lt;BR /&gt;----------------------------------&lt;BR /&gt;Hope it helps you and if it resolves you query please mark it as the best answer so that others having the same problem can track the answer easily&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Devneet Mohanty&lt;BR /&gt;Intelligent Automation Consultant&lt;BR /&gt;Blueprism 6x Certified Professional&lt;BR /&gt;Website: &lt;A href="https://devneet.github.io/" target="test_blank"&gt;https://devneet.github.io/&lt;/A&gt;&lt;BR /&gt;Email: devneetmohanty07@gmail.com&lt;BR /&gt;&lt;BR /&gt;----------------------------------&lt;BR /&gt;------------------------------&lt;BR /&gt;</description>
      <pubDate>Thu, 23 Dec 2021 02:42:00 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74317#M26922</guid>
      <dc:creator>devneetmohanty07</dc:creator>
      <dc:date>2021-12-23T02:42:00Z</dc:date>
    </item>
    <item>
      <title>RE: Files on Google drive</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74318#M26923</link>
      <description>Thanks a lot &lt;SPAN&gt;Devneet. It worked. I need to know how the BOT can read the worksheets name in the google sheet. should the worksheet name across all the google sheets be same or can we have different names for worksheets across all google sheets.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;------------------------------&lt;BR /&gt;Masoma Khatoon&lt;BR /&gt;------------------------------&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Jan 2022 20:52:00 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74318#M26923</guid>
      <dc:creator>MasomaKhatoon</dc:creator>
      <dc:date>2022-01-18T20:52:00Z</dc:date>
    </item>
    <item>
      <title>RE: Files on Google drive</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74319#M26924</link>
      <description>&lt;P&gt;Hi Masoma,&lt;BR /&gt;&lt;BR /&gt;Glad that my answer could help you out. In order to determine worksheet names dynamically you can follow the below approach:&lt;BR /&gt;&lt;BR /&gt;Once you've determined the '&lt;STRONG&gt;spreadsheetId&lt;/STRONG&gt;' or '&lt;STRONG&gt;fileId&lt;/STRONG&gt;' whichever convention you want to use for better understanding that corresponds to your Google Sheet file, you can use the below API endpoint:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE class="notranslate" dir="ltr"&gt;&lt;A href="https://sheets.googleapis.com/v4/spreadsheets/?&amp;amp;fields=sheets.properties" target="test_blank"&gt;https://sheets.googleapis.com/v4/spreadsheets/?&amp;amp;fields=sheets.properties&lt;/A&gt;&lt;/PRE&gt;
&lt;BR /&gt;Here, replace the highlighted parameter with the '&lt;STRONG&gt;fileId&lt;/STRONG&gt;' or '&lt;STRONG&gt;spreadsheetId&lt;/STRONG&gt;' that you have determined. This API call will then return you a JSON array comprising of the sheet properties for each sheet present within it.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Sample response will look something like this:&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;A href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#sheet" target="_blank" rel="noopener"&gt;&lt;SPAN class="str"&gt;sheets&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;A href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#sheetproperties" target="_blank" rel="noopener"&gt;&lt;SPAN class="str"&gt;properties&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"sheetId"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;867266606&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"title"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"Sheet1"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"index"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;A href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#sheettype" target="_blank" rel="noopener"&gt;&lt;SPAN class="str"&gt;sheetType&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"GRID"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;A href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#gridproperties" target="_blank" rel="noopener"&gt;&lt;SPAN class="str"&gt;gridProperties&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"rowCount"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;100&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"columnCount"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;20&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"frozenRowCount"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;1&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;A href="https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#color" target="_blank" rel="noopener"&gt;&lt;SPAN class="str"&gt;tabColor&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class="str"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"blue"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;...&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;],&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;BR /&gt;You can reserialize this JSON array and get your desired parameter which in your case would be "&lt;STRONG&gt;title&lt;/STRONG&gt;"&lt;BR /&gt;&lt;BR /&gt;If this resolves your query, please do mark the answer as the "Best Answer" so that others can track it easily.&lt;BR /&gt;&lt;BR /&gt;------------------------------&lt;BR /&gt;----------------------------------&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Devneet Mohanty&lt;BR /&gt;Intelligent Process Automation Consultant&lt;BR /&gt;Blue Prism 7x Certified Professional&lt;BR /&gt;Website: &lt;A href="https://devneet.github.io/" target="test_blank"&gt;https://devneet.github.io/&lt;/A&gt;&lt;BR /&gt;Email: devneetmohanty07@gmail.com&lt;BR /&gt;&lt;BR /&gt;----------------------------------&lt;BR /&gt;------------------------------&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Jan 2022 23:16:00 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Files-on-Google-drive/m-p/74319#M26924</guid>
      <dc:creator>devneetmohanty07</dc:creator>
      <dc:date>2022-01-18T23:16:00Z</dc:date>
    </item>
  </channel>
</rss>

