Excel VBA to Quickbooks Online Link? - excel

Is there any way I can write an Excel VBA program to interface with Quickbooks online? I work for a company that uses quickbooks for accounting, and I'd like to write a simple program that I can run from one of our common excel files to take data from that file and dump into in a Quickbooks bill.
The problem Im running in to is that I dont know where to start. The quickbooks online API online seems suitable for other web apps, and any integration with Excel is online with quickbooks desktop. Are there any good resources? Is this even possible?

You can definitely use the QuickBooks Online API to do what you're looking to do.
The API is usable to both web apps and desktop apps.
If you follow the linked text above there's tons of documentation.
The basic process if you're building a desktop app would be to:
get your OAuth tokens from Intuit's OAuth playground
find an OAuth library for your language of choice
parse the Excel sheet
send OAuth signed REST requests to Intuit's API to send the data to QBO
If you're building a web app instead, you'd be better off implementing the entire OAuth signup process instead of using the playground tool.
You probably don't want to do this from directly within Excel because there's a lot of OAuth signing and other crazy stuff that likely won't be easy/available within Excel directly. But you should be able to use Intuit's .NET DevKit to do what you're trying to do.

I researched this last month. From what I can tell the API is only for creating apps for their app store. The apps have to comply with their standards for navigation, security etc... so the answer to your question from what I can tell is that it's not possible. (I could be wrong but I was asking myself the same question a few weeks ago.)
Probably not the answer you were hoping for but I came to accept it. After talking with my business partner who is a Pro Adviser he said that it was easy enough for him to just upload a csv file if the information was correct and the file was documented.
QuickBooks Online API Diagnostics.php ERROR However, from the looks of this post one might have a reason to believe otherwise.
EDIT The API has been updated. Keith Palmer's answer is correct.

Last week this sample was posted:
OAuthHangoutSamples
I have been using a modified oAuth part of this. I found it was easier to build out the transaction than use the SDK for the API. I have a wrapper class, exposed to com that is working in VBA.
Attending the Intuit's Friday Developer Google Hangout was very helpful in my Intuit Magical Mystery Tour.

Related

How to access Google Classroom without API?

I'd like to automatize some processes that are not yet available through API(Google Classroom), like posting comments on announcements, seeing private comments on my work and so on. I have trouble accessing my account. I'd like the app to be able to run on a server. I'm currently working with node.js, but if there is an easier approach I'll gladly accept it (free if it's possible). Can you give me an example of how it's done because currently, I am struggling to find every button that needs to be clicked on?
Unfortunately, there are no methods right now to accomplish that. You can leave a feature request on Google Issue Tracker describing what methods you would like to use. Google engineers will study your case and, if applicable, they will develop the requested methods.
You could use something like Selenium with your language of choice (Javascript in this case) to automate the browser clicks.
This is however, not the best of ideas... To make Selenium log into your account you will need to hardcode your password somewhere.
Google services use Oauth for authentication, take a look at the Classroom API Getting-started for instructions on how to work with Google Classroom API.

how to write own logic without using qnamaker

I am still trying to understand Chatbots. Currently i have already made chatbot which is integrated in skype. I have Sharepoint online where user search for FAQ. If they dont find then they ask BOT which sends request to LUIS and Qnamaker.
Qnamaker then sends response back by looking it into its database. I upload FAQ from sharepoint to Qnamaker using sharepoint workflows. But i want to write my own logic and get rid of Qnamaker.
What are ways to do it? Any good tutorials? I also wanted to know how the flow happens. For example if we dont use Qnamaker then we fire queries in sharepoint based on what user asked? I dont understand how i can fire queries in sharepoint if user makes typo then we will not get anything from sharepoint. So any tips on how to implement this without using qnamaker is highly appreciated?
The FAQ bot generator is a subset of the main Microsoft bot framework. You should do some research on the Microsoft Bot Framework. The link above takes you right to the documentation overview of the bot framework and from there you can get into developing one. They have links to a few sample projects as well as a large number of code snippets within some of the article explanations. It has a full setup guide that will walk you through the initial setup so it should be easy to get a basic echo bot running, but if you are not a programmer you should stick to the FAQ generator.
I suggest you use either node.js or c# to develop the bot since these are directly supported by the framework. I am personally using c# to build my bot from the ground up. The purpose of mine is to be used within a customer facing android/ios app that will help with questions, checking the status of different things, and even paying bills.
Just remember you will need to manually set up your cloud hosting. I host mine in azure alongside a web interface I built for it (you can build the website inside your bot if you are using c#, just replace the default.htm file in the web.config with the main page of the interface).

Why Rest Api in Sharepoint

What is the main reason that we go for Rest Api in SharePoint 2013. Already we have Client Object Model for implementing application. Anybody can please guide me.
The Client Side Object Model is built upon the REST API so that is one reason for it to exist. For good JavaScript developers they may like the simplicity of the REST API. For people trying to keep their page size to a minimum, they may appreciate forgoing the size of the CSOM and its dependencies. Lastly, in mash up scenarios with other tools, having an easy way to address content via REST urls makes for better interoperability with other tools instead of relying on a product specific API (i.e. the CSOM).

SharePoint - Posting and Retrieving files Automatically via VBScript

I'm going to need to push and pull files from a SharePoint site that is not hosted by my company (it is external). I'm only going to get a few days (if that) to get this working so I don't have much time to experiment.
To add to my requirements/headaches, I'm going to have to implement this with VBScript. .Net would be preferred for me but for reasons beyond my control I have to use VBScript. I don't have direct access to my VBScript web server, so I won't be able to implement this in .NET and use that object from VBScript.
I'm looking for anything that would help me accomplish this goal quickly and effectively. I found this post and am wondering if the PUT/GET method used here would work for me?
http://weblogs.asp.net/bsimser/archive/2004/06/06/149673.aspx (I got this link from: Sharepoint API - How to Upload files to Sharepoint Doc Library from ASP.NET Web Application)
To top all of this off, I've never done any programming or administration of a SharePoint site. My knowledge of SharePoint is that of a user. I'm aware that there is an API from the few Google searches I did. However, my readings make me believe that my code would need to run on or in proximity to the SharePoint server. I don't believe I have the proximity I need to use the API.
Sincere thank yous!
Regards,
Frank
Progress Update: I'm still researching this. Tom pointed out that the example I had posted is probably from an old SharePoint version. His recommendation to use .Net to develop a prototype on Web Services is good but I'm hoping for more detailed answers.
I'm now wondering if I can accomplish what I need to accomplish using HTTP PUT and GETs. At my company, for a specific project we do use HTTP PUT and GETs to do something like this. We have files that are stored on an HTTP server and this is how we post and retrieve them.
Would this work over SharePoint or would SharePoint require special handling? Basically, do I have to use Web Services?
Progress Update 2: This link is helpful... Upload a file to SharePoint through the built-in web services
But I am still looking for more information on this topic... Thanks all...
You'll need to use the sharepoint lists web service for metadata and get/put for uploads. That link looks to be for SharePoint 2001, so hopefully you can use the newer/simpler version.
I recommend building something in .net first to get the web service calls worked out - some of the parameters can be quite tricky to debug, and I wouldn't want to be doing that on a remote vbscript page.
Assuming there is no metadata required and the SharePoint library is being used like a file server you can do most of what you want with PUT/GET, but you will probably need a call to GetListItems to find the urls to download.
There's an example on my blog of a lower level call to that web service - it's javascript, but probably close enough.
http://tqcblog.com/2007/09/24/sharepoint-blog-content-rating-with-javascript-and-web-services
What setting up the .net version gets you is very quick set up of a connection to the server (just add a web service reference in visual studio) so you can get the query and queryoptions strings working to retrieve the items you want. Once that works you just have to put it all together as a string including the soap stuff for use without all the nice tools.
I'm a little unclear on the context of the implementation and the prerequisite of having to use VBScript. Are the files being moved from one server to another server or from a user's desktop to this SP server? or are they being accessed via software like Excel?
The first thing that sprang to my mind (this may sound crazy) was using the Office application to make the connection. Your script would call up Excel (just as an example) and pass it the vba needed to initiate the Open File, and then provide the full path to the file that needs to be retrieved. Then have it do a Save As to the location that needs the file. Do the same thing but in reverse for putting files on the SharePoint server.
The tricky part, obviously, is getting the script to interface with the Office app. I know this can be done with the Windows version of PHP, but I don't want to get into anything specific without knowing your situation.
I seriously wonder if you are going to be able to use VBScript to call the SharePoint web services. I haven't looked at the SharePoint web services for a while so I don't remember exactly how they are defined. I thought the web services were SOAP calls though which makes it trickier than
I'm not sure I tried to use Excel to call some web services with the MSSOAP.SoapClient and it seemed this component was unable to handle any WSDL types beyond the very simple strings. Anything with nested data would not work. Instead, you would need to create a COM object to process the conversion which is a major hassle. If you are able to use XMLHTTP component then it might be possible with VBScript, but I'm not sure if it will work with SharePoint web services.
I'm not sure what you mean, "I don't have direct access to my VBScript web server." Is your web server in VBScript (ASP)? Or did you mean SharePoint server?
You might consider C# Script (cs-script) as a scripted solution that uses .NET. I have had good success with it, although it does need to be installed on the computer that runs the script.
I'm integrating between two companies. According to this book, we should use AD FS to accomplish what I'm looking for.
I still don't actually have this working though so if someone has more information I will change the answer to this question.
http://books.google.com/books?id=-6Dw74If4N0C&pg=PA27&lpg=PA27&dq=sharing+sharepoint+sites+external+adfs&source=bl&ots=ojOlMP13tE&sig=FjsMmOHymCOMGo7il7vjWF_lagQ&hl=en&ei=ytqfStClO5mMtgejsfH0Dw&sa=X&oi=book_result&ct=result&resnum=5#v=onepage&q=&f=false
I never really received a answer to this that worked out but this is no longer an issue for me.
What we ended up doing is scraping the html. In effect, we put together our own ad-hoc web service processor where instead of SOAP, html is used to communicate. Then we execute GETs, POSTs, and etc to work with the web service.
We had done something similar in VBScript in for WebDAV -- we had a class and created a new one to work with SharePoint.

Integrating Instant Messaging into SharePoint!

Maybe this is a dumb question!
I'm just wandering is there any way/web part integrating with SharePoint, by which I can communicate with others instantly.
The reason behind this requirement is that I still have not found any workaround to communicate with my colleagues instantly, like MSN, in SharePoint.
P.s If I start building one, where should I get started!
Thanks for your input and forgive me if my question is stupid!
You can integrate Microsoft Office Communcations Server into SharePoint apparently. Gives you access to MSN Messenger internally to your enterprise, among other things.
Users who run Windows Live Messenger will get a precense icon for all user lookups when their email settings are configured properly. It requires all users to add each other to their live accounts, so it might not be the solution you are looking for. Another way to get the precense icon is by using Microsoft Office Communications Server as Moo suggested.
This also integrates well into Outlook and is the way Microsoft decided to implement communication in the Office suit.
Check out chatterbox:
http://blogs.msdn.com/sharepoint/archive/2007/05/15/chatterbox-persistent-chat-session-for-sharepoint.aspx
Here is another open source feature I have been working on.
EDIT: The name of the feature is Sharepoint Messenger. You can find it either google search, codeplex or the link below.
https://sharepointmessenger.codeplex.com/

Resources