oauth - SurveyMonkey returning unexpected EOF error exchanging authorization code for access token -


code had been working in "localhost" environment failing after deploying production under (obviously) new callback url. nothing else changed. request surveymonkey's api exchange authorization code long-lived access token returning error:

system.net.webexception: underlying connection closed: unexpected error occurred on send. ---> system.io.ioexception: received unexpected eof or 0 bytes transport stream.

is there else needs changed, maybe production client_id ? please advise, stuck.

here code:

        var clientid = _sds.byname("surveymonkeyclientid").value;         var apisecret = _sds.byname("surveymonkeyapisecret").value;         var callbackurl = _sds.byname("surveymonkeycallbackurl").value;         var accesstokenuri = "https://api.surveymonkey.net/oauth/token?api_key=" + _sds.byname("surveymonkeyapikey").value;          // create postback data         var postdata = new namevaluecollection()         {             { "client_secret", apisecret },             { "code", authorizationcode },             { "redirect_uri", callbackurl },             { "client_id", clientid },             { "grant_type", "authorization_code" }         };          var querystring = string.join("&", (             key in postdata.allkeys             value in postdata.getvalues(key)             select string.format("{0}={1}", httputility.urlencode(key), httputility.urlencode(value))).toarray()         );          // create , configure web request object         var request = webrequest.create(accesstokenuri);         request.method = "post";         request.contenttype = "application/x-www-form-urlencoded";         var datastream = request.getrequeststream();          var postarray = encoding.utf8.getbytes(querystring);         datastream.write(postarray, 0, postarray.length);         datastream.close();          // make call survey monkey's token exchange uri         try         {             var response = request.getresponse();             datastream = response.getresponsestream();             var reader = new streamreader(datastream);             var responsefromserver = reader.readtoend();             reader.close();             datastream.close();             response.close();              savesurveymonkeyjsonwhole(responsefromserver);             dynamic jobject = _serializer.deserializeobject(responsefromserver);             var access_token = jobject["access_token"];             return access_token;         }         catch (exception ex)         {             errorsignal.fromcurrentcontext().raise(ex);             return string.empty;         } 


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -