Short version: where can I find the source code for the Microsoft Authentication node?
Long version: I would like to develop an extension that can pull data from API pages within the Microsoft Dynamics 365 Business Central service. I have already created a workflow which can handle the task using POST and GET requests. However, I would like to create a clean node that could connect to the Microsoft Authentication node in order to distribute the node to team members. Therefore, I would like to inspect the source code of the Microsoft Authenticator now. Where can I find the source code for the Microsoft Authenticator node? It sees like the code is not available in KNIME’s github page. I would also be happy about hints on how to make use of the access token supposingly generated and stored by the Microsoft Authenticator node for further node development.
we haven’t published all repositories on GitHub, but you can still have a look at the source code of all open source plugins in Eclipse as described here. Once you have added the " KNIME Office 365 Connectors" feature search in the source code for the org.knime.ext.sharepoint.filehandling.node.SharepointConnectionNodeModel class and check out the execute() method as a starting point.
FYI: We are in the progress of unifying the OAuth based nodes which including the Microsoft Authenticator node as well. This should make it easier to use them across different nodes e.g. also in the REST nodes. The OAuth2 Authenticator – KNIME Community Hub node is the first that makes use of the new port type which at a later stage will be also used in the new Microsoft Authenticator node. I do not have any specific timeframe for these changes as of now but I’m sure that this will not happen this year but rather next year.
Bye
Tobias
P.S.: Have you considered publishing the existing workflow on the KNIME Community Hub to make it available to other KNIMErs as well? I’m sure there are other users that would appreciate a working example as a starting point.
thanks for your quick reply. Unfortunately, I am not at all familiar with eclipse and I am still struggling. I set up the KNIME SDK as described in the [setup guide](GitHub - knime/knime-sdk-setup: KNIME Analytics Platform - SDK Setup and used the complete target. Then I included the source code in the target definition by ticking the “include source” check box as described.
Once I create a new node with the node wizard and inspect the code for the node model, there is the option to do right click on “Open Declaration” in order to see the function, as seen in the following screenshot:
However, when I try to import any classes from the Office 365 extension, the classes do not seem to be contained in the eclipse setup:
As a workaround I was able to add the file “org.knime.ext.microsoft.authentication_4.7.2.v202303211209.jar” from my usual KNIME installation to the build path setup in eclipse. This allows me to import the classes from the Office 365 extension:
Also I can add a Microsoft Credential port to the node model:
The problem with this workaround is that I get errors, once I want to add the created node in KNIME at runtime:
Is there any way to setup to adjust the target definition or to adjust the build path within Eclipse, such that I can import the Office 365 extension classes and inspect their source without my workaround?
P.S. I uploaded my existing workflow as Microsoft Dynamics 365 Business Central API Page Retriever on the community hub.
I discovered that there has been some discussion in the KNIME forum and if you reopen the topic, I will also post a link to my workflow there.