坚持从ebay获取令牌

时间:2015-06-18 22:18:11

标签: c# ebay-api

使用C#MVC 5.在IIS 8中托管我的应用程序后出现此问题。

当我的视图页面加载时,加载一个锚点(获取令牌),重定向到带有runame和会话名称的ebay登录页面(runame& sessionID被加载到控制器中并通过viewbag传递并与锚点标记点击事件绑定)。

在控制器中:

apiContext.SignInUrl = "https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=" + apiContext.RuName + "&SessID=" + _sessionID;
ViewBag.sign = apiContext.SignInUrl;
ViewBag.SessionID = _sessionID;

在视图中

$("#eBaySignIn").click(function () {

        var childUrl = "@ViewBag.sign";
        sessionID = "@ViewBag.SessionID";
        alert(sessionID);
        var timer = setInterval(checkChild, 500);
        var isClosed = false;
        function checkChild() {
            if (child.closed) {

                clearInterval(timer);
                var URL = '@Url.Action("AcceBayFinalReturn", "Settings")';
                $.ajax({
                    url: URL,
                    type: 'POST',
                    data: JSON.stringify({ sessionIDs: sessionID }),
                    dataType: 'json',
                    contentType: 'application/json',
                    success: function (data) {
                        alert('Succ');
                    },
                    error: function (data) {
                        alert('Error.');
                    }
                });
            }
        }
    });

登录页面正确加载子窗口。

在“我同意”之后,在eBay同意书中(登录后)窗口关闭。

在主窗口中,我捕获关闭子窗口的事件,并通过ajax(上面给出的代码)将sessionID从视图发送到控制器。在控制器中,我使用apicontext和有效的sessionID调用FetchToken。

try
        {
            FetchTokenCall ftc = new FetchTokenCall(apiContext);
            _token = ftc.FetchToken(_sessionID);
            return _token;
        }
        catch (Exception)
        {
            return null;
        }

但遗憾的是FetchToken没有返回任何内容。怎么解决?

0 个答案:

没有答案