开发者社区> 问答> 正文

ISV开发中遇见的两个棘手问题。

一、 ISV的 开端 permanent_code 只能获取一次 ,如果 丢失( 没有及时存起来) 的话 就意味着 彻底失败 这个问题文档里也提到了,说是后续会优化逻辑。
首先 这是个问题,还是一开头就遇见的问题。 然而这么长时间过去了,貌视 设计者 也不是很急着解决的样子。为什么呢?
阅读文档会发现设计者的逻辑:获取到 permanent_code 后,把 permanent_code存入数据库,然后立即激活套件 。—— 获取后立马存取,按这样 逻辑 确实是不怎么担心 permanent_code会丢失的。
然而实际开发中会发现:只存个 permanent_code是没什么用的,还得再用 permanent_code去获取企业信息,其中agent信息是必须的。不然没有agentId 企业也 没法用。
我的 逻辑 是:
1、回调服务器收到tmp_auth_code后, 调用 钉钉 获取永久授权码接口 获取 permanent_code corpid
2、用corpidpermanent_code调用钉钉 获取企业授权的授权数据接口 获取企业信息和 agent信息。
3、把 permanent_code和 企业信息合并存入数据库,把 agent信息 存入 数据
4、激活套件。 返回success。
我的 逻辑 多调用一次钉钉接口,至少多存一次库, permanent_code 丢失机率大大增加了 。这个 permanent_code只能获取一次 的问题就变得突显起来。
还请设计者不要偷懒,希望尽快优化这一块逻辑。


二、回调服务器change_auth事件,钉钉方面只给传过来个authCorpId, 我套件里有20个微应用, 没有agentId怎么知道是哪个应用被取消了?
目前只有获取 单一应用 接口,现在只能遍历调用20次接口来查哪个应用变更了。
解决方法:change_auth事件时,推送个agentId过来。




展开
收起
天下之中人 2016-01-20 15:09:54 5948 0
3 条回答
写回答
取消 提交回答
  • 回 2楼yuesirfu的帖子
    corpid appid agentid都存数据库里,通过corpid 和appid 就查出来了

    -------------------------

    回 4楼yuesirfu的帖子
    写死
    2016-01-26 17:51:44
    赞同 展开评论 打赏
  • ReISV开发中遇见的两个棘手问题。
    "agent":[{
                "agent_name":"aaaa",
                "agentid":1,
                "appid":-3,
                "logo_url":"http://aaaaaa.com"
        }
        ,{
                "agent_name":"bbbb",
                "agentid":4,
                "appid":-2,
                "logo_url":"http://vvvvvv.com"
        }]
       想问下您第三步:存agent相关信息是怎样存的呢? 官方文档说明( 获取企业授权的授权数据 [font='Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif]get_auth_info)里面给出的是一个数组,是不是 一个企业对某个套件授权,该套件下有多个应用,这个 agent 信息就是返回的 多个应用的相关信息? 存入数据库的时候是不是也要把 agentid 和  appid 都存起来,后期调用JS-api 的时候要用到 agentid, 但是没有给出 appid, 怎样获得正确的 agentid 呢?

    -------------------------

    回 3楼天下之中人的帖子
    前台调用 JS-api 调用的时候像您说的需要 agentId, 但是钉钉只会传一个 corpId 过来,appid 是自己到套件里面找到然后写死还是有接口获取?

    -------------------------

    回 5楼天下之中人的帖子
    好的,谢啦~
    2016-01-26 17:42:12
    赞同 展开评论 打赏
  • 好的,这个需求我们记下了,谢谢!
    2016-01-21 11:20:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
接手一个6年的平台型系统:我是如何带领团队破局前行的 立即下载
接手一个6年的平台型系统我是如何带领团队破局前行的 立即下载
“移”步到位—一站式移动应用研发体系 立即下载