Netsuite Prof
03/15/2023, 6:39 PMNathan L
03/15/2023, 7:27 PMNetsuite Prof
03/15/2023, 7:40 PMNathan L
03/15/2023, 7:50 PMSub PostDataToNetSuiteRESTlet()
Dim URL As String
Dim Request As Object
Dim Response As String
Dim AuthHeader As String
Dim PostData As String
' Set the RESTlet endpoint URL
URL = "<https://your.netsuite.account.com/app/site/hosting/restlet.nl?script=123&deploy=1>"
' Set the authentication header
AuthHeader = "Authorization: NLAuth nlauth_account=youraccount, nlauth_email=youremail, nlauth_signature=yoursignature, nlauth_role=3"
' Set the data to be posted in CSV format
' Replace "A1:B5" with the range of cells containing your data
PostData = Range("A1:B5").Value
' Create the HTTP request object
Set Request = CreateObject("WinHTTP.WinHTTPRequest.5.1")
' Set the request settings
Request.Open "POST", URL, False
Request.SetRequestHeader "Content-Type", "text/csv"
Request.SetRequestHeader "Authorization", AuthHeader
Request.Send PostData
' Handle the response
Response = Request.responseText
' Do something with the response data
End Sub
Watz
03/15/2023, 8:01 PMNathan L
03/15/2023, 8:06 PMWatz
03/15/2023, 8:06 PMWatz
03/15/2023, 8:09 PMNathan L
03/15/2023, 8:10 PMSub PostDataToNetSuiteRESTletWithOAuth()
Dim URL As String
Dim Request As Object
Dim Response As String
Dim ConsumerKey As String
Dim ConsumerSecret As String
Dim AccessToken As String
Dim AccessTokenSecret As String
Dim OAuthHeader As String
Dim PostData As String
' Set the RESTlet endpoint URL
URL = "<https://your.netsuite.account.com/app/site/hosting/restlet.nl?script=123&deploy=1>"
' Set the OAuth credentials
ConsumerKey = "your_consumer_key"
ConsumerSecret = "your_consumer_secret"
AccessToken = "your_access_token"
AccessTokenSecret = "your_access_token_secret"
' Set the data to be posted in CSV format
' Replace "A1:B5" with the range of cells containing your data
PostData = Range("A1:B5").Value
' Create the HTTP request object
Set Request = CreateObject("WinHTTP.WinHTTPRequest.5.1")
' Set the request settings
Request.Open "POST", URL, False
' Set the OAuth headers
OAuthHeader = GetOAuthHeader(Request, ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret)
Request.SetRequestHeader "Authorization", OAuthHeader
Request.SetRequestHeader "Content-Type", "text/csv"
' Set the post data
Request.Send PostData
' Handle the response
Response = Request.responseText
' Do something with the response data
End Sub
Function GetOAuthHeader(Request As Object, ConsumerKey As String, ConsumerSecret As String, AccessToken As String, AccessTokenSecret As String) As String
Dim OAuth As Object
Set OAuth = CreateObject("MSXML2.XMLHTTP")
' Set the OAuth parameters
OAuth.Open "GET", "<https://oauth.netsuite.com/oauth/signature>", False
OAuth.setRequestHeader "Authorization", "OAuth realm=""" & Request.URL & """"
OAuth.setRequestHeader "oauth_consumer_key", ConsumerKey
OAuth.setRequestHeader "oauth_nonce", CStr(Now())
OAuth.setRequestHeader "oauth_signature_method", "HMAC-SHA1"
OAuth.setRequestHeader "oauth_timestamp", CStr(DateDiff("s", "01/01/1970 00:00:00", Now()))
OAuth.setRequestHeader "oauth_token", AccessToken
OAuth.setRequestHeader "oauth_version", "1.0"
' Generate the OAuth signature
Dim SignatureBase As String
SignatureBase = OAuthSignatureBase(Request, OAuth)
Dim SigningKey As String
SigningKey = ConsumerSecret & "&" &
Nathan L
03/15/2023, 8:10 PMWatz
03/15/2023, 8:11 PMShawn Talbert
03/15/2023, 8:39 PMShawn Talbert
03/15/2023, 8:39 PMShawn Talbert
03/15/2023, 8:40 PMreptar
03/15/2023, 9:18 PM