【问题标题】:Unable to edit salesforce record using native android salesforce SDK无法使用本机 android salesforce SDK 编辑 salesforce 记录
【发布时间】:2017-11-20 06:51:05
【问题描述】:

我正在使用 android 原生 Salesforce SDK 在我的 android 应用程序中同步 salesforce 数据。我正在尝试打开一个 URL 以使用本机 webview 编辑 salesforce 联系人,但加载 URL 会显示此消息:

'要访问此页面,您必须登录 Salesforce'。

输入有效凭据不会重定向到其他任何地方,而是会使用上述错误消息重新加载登录页面。

这是我传递的 URL:

https://domain.visual.force.com/apex/GenericUpdate?isdtp=nv&id={record_id}&oauth_token={oAuthToken}&display=touch

为什么我无法进入编辑记录页面?这与使用无法管理会话的本机 webview 有关吗?如果是这样,我如何让我的本机 webview 像 salesforce 登录页面一样管理会话?

另外,我被引导使用 frontdoor.jsp(来自混合移动 SDK)通过本机应用程序登录(这是链接:https://github.com/forcedotcom/SalesforceMobileSDK-Android/issues/1506),新 URL 是:

https://domain.salesforce.com/secur/frontdoor.jsp?&sid=&retURL=https://domain.visual.force.com/apex/GenericUpdate?isdtp=nv&id={record_id}&oauth_token={oAuthToken}&display=touch

上面的传递给了我同样的错误信息。 frontdoor.jsp URL 是否在内部管理会话?如果是这样,为什么它不允许我进入编辑页面?

请注意:以上网址为 URLEncoded。

【问题讨论】:

    标签: android url webview salesforce


    【解决方案1】:

    终于能够通过在salesforce SDK的bootconfig.xml中的oauthScope参数数组中设置web来解决这个问题,如下所示:

        <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <string name="remoteAccessConsumerKey">key
    </string>
        <string name="oauthRedirectURI">redirect url</string>
        <string-array name="oauthScopes">
            <item>web</item>
            <item>api</item>
        </string-array>
    
    </resources>
    

    【讨论】:

    • 是否可以在 Java 代码中添加这些 remoteAccessConsumerKey 和 oauthRedirectURI 值?我想在运行时更改
    • 我不这么认为。我探索了 BuildConfig.java 类,它没有显示任何设置器,只有从 json 或 xml 读取配置的方法。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多