1. You always should create a new thread for a new Question.
2. It is a server app which is expected to run all the time to be able to answer client-requests.
3. As it is using the OAuth-Class it should be able to get a Token (even if the token is expired and a client connect to the server, the server then want to use the Token. If the token is expired then the OAuth Class will get a new one based on the refresh-token stored.
oauth2.GetAccessToken
Wait For OAuth2_AccessTokenAvailable (Success As Boolean, Token As String)
If Success = False Then
Log("Error accessing account.")
Return
End If
' use the token here ....
I can´t answer any question about InApp-Purchases in detail; i do not have any single app using InAppPurshase.