首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到QuickBooks Anywhere到QuickBooks桌面

连接到QuickBooks Anywhere到QuickBooks桌面
EN

Stack Overflow用户
提问于 2013-01-16 05:42:41
回答 1查看 1.4K关注 0票数 0

我正在尝试从QuickBooks anywhere连接到QuickBooks桌面,但是,我看不到我的QuickBooks桌面实例,乔的测试公司。我只看到我的QuickBooks Online实例。

我认为问题出在我的URL:

https://qbo.intuit.com/qbo1/rest/user/v2/

QuickBooks桌面的基URL是什么?

下面是我的代码:

代码语言:javascript
复制
        public void GetAccessTokenAndSecret()
    {
        string oauth_callback_url = HttpContext.Current.Request.RawUrl;
        oauth_callback_url = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + oauth_callback_url;
        string consumerKey = _qboSettings.ConsumerKey;
        string consumerSecret = _qboSettings.ConsumerKeySecret;
        var oauthLink = Constants.OauthEndPoints.IdFedOAuthBaseUrl;
        IToken token = (IToken)HttpContext.Current.Session["requestToken"];
        IOAuthSession session = CreateSession();
        IToken requestToken = session.GetRequestToken();
        HttpContext.Current.Session["requestToken"] = requestToken;
        string RequestToken = requestToken.Token;
        string TokenSecret = requestToken.TokenSecret;
        oauthLink = Constants.OauthEndPoints.AuthorizeUrl + "?oauth_token=" + RequestToken + "&oauth_callback=" + UriUtility.UrlEncode(oauth_callback_url);
        HttpContext.Current.Response.Redirect(oauthLink);

    }

    /// <summary>
    /// Creates Session
    /// </summary>
    /// <returns>Returns OAuth Session</returns>
    protected IOAuthSession CreateSession()
    {
        OAuthConsumerContext consumerContext = new OAuthConsumerContext
        {
            ConsumerKey = _qboSettings.ConsumerKey,
            ConsumerSecret = _qboSettings.ConsumerKeySecret,
            SignatureMethod = SignatureMethod.HmacSha1
        };
        return new OAuthSession(consumerContext,
                                        Constants.OauthEndPoints.IdFedOAuthBaseUrl + Constants.OauthEndPoints.UrlRequestToken,
                                        Constants.OauthEndPoints.IdFedOAuthBaseUrl,
                                        Constants.OauthEndPoints.IdFedOAuthBaseUrl + Constants.OauthEndPoints.UrlAccessToken);
    }

下面是我的常量:

代码语言:javascript
复制
using System.Globalization;

namespace HelloIntuitAnywhere.Utilities
{
using System.Configuration;
using System.Web;

/// <summary>
/// Contains Constants.
/// </summary>
internal class Constants
{

    static string Url_Request_Token = "/get_request_token";
    static string Url_Access_Token = "/get_access_token";
    static string Intuit_OAuth_BaseUrl ="https://oauth.intuit.com/oauth/v1";
    static string Intuit_Workplace_AuthorizeUrl = "https://workplace.intuit.com/Connect/Begin";
    static string BlueDot_AppMenuUrl = "https://workplace.intuit.com/api/v1/Account/AppMenu";
    static string DisconnectUr = "https://appcenter.intuit.com/api/v1/Connection/Disconnect";
    static string oauth_callback_url = HttpContext.Current.Request.RawUrl.Replace("Configure", "OAuthHandler");
    static string menuProxy = "MenuProxy.aspx";
    static string grantUrl = "OauthGrant.aspx";
    static string qbo_base_url = "https://qbo.intuit.com/qbo1/rest/user/v2/";
    static string openid_identifier = "https://openid.intuit.com/Identity-YourAppName";


    /// <summary>
    /// OAuth EndPoints.
    /// </summary>
    internal class OauthEndPoints
    {
        /// <summary>
        /// Url Request Token
        /// </summary>
        internal static string UrlRequestToken = Url_Request_Token != null ?
            Url_Request_Token.ToString(CultureInfo.InvariantCulture) : "/get_request_token";

        /// <summary>
        /// Url Access Token
        /// </summary>
        internal static string UrlAccessToken = Url_Access_Token != null ?
            Url_Access_Token.ToString(CultureInfo.InvariantCulture) : "/get_access_token";

        /// <summary>
        /// Federation base url.
        /// </summary>
        internal static string IdFedOAuthBaseUrl = Intuit_OAuth_BaseUrl != null ?
            Intuit_OAuth_BaseUrl.ToString(CultureInfo.InvariantCulture) : "https://oauth.intuit.com/oauth/v1";

        /// <summary>
        /// Authorize url.
        /// </summary>
        internal static string AuthorizeUrl = Intuit_Workplace_AuthorizeUrl != null ?
            Intuit_Workplace_AuthorizeUrl.ToString(CultureInfo.InvariantCulture) : "https://workplace.intuit.com/Connect/Begin";
    }

    /// <summary>
    /// Intuit Anywhere Endpoints.
    /// </summary>
    internal class IaEndPoints
    {
        /// <summary>
        /// BlueDot Menu Url.
        /// </summary>
        internal static string BlueDotAppMenuUrl = BlueDot_AppMenuUrl != null ?
            BlueDot_AppMenuUrl.ToString(CultureInfo.InvariantCulture) : "https://workplace.intuit.com/api/v1/Account/AppMenu";

        /// <summary>
        /// Disconnect url.
        /// </summary>
        internal static string DisconnectUrl = DisconnectUrl != null ?
            DisconnectUrl.ToString(CultureInfo.InvariantCulture) : "https://appcenter.intuit.com/api/v1/Connection/Disconnect";
    }
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-16 12:24:03

QuickBooks桌面的基URL是什么?

根据documentation,用于QuickBooks桌面的IDS的URL遵循以下格式:

代码语言:javascript
复制
https://services.intuit.com/sb/<objectName>/v2/<realmID>

然而,你遇到的问题是:

我只能看到我的QuickBooks Online实例。

听起来与基本URL并不相关。这听起来更像是你没有设置同步管理器,或者你的应用程序设置没有勾选QuickBooks桌面选项,以允许桌面版本的QuickBooks连接到你的应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14347477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档