开发者社区> 问答> 正文

服务端-钉盘接口API-发送文件给指定用户

请问这个api我调用后,总是返回 [font='Microsoft Yahei', 微软雅黑, Arial]errcode: 40007, [font='Microsoft Yahei', 微软雅黑, Arial]errmsg: 不合法的媒体文件id。我调用的方法是HttpHelper.dopost(String url,Object object)。传的url是 [font='Microsoft Yahei', 微软雅黑, Arial]oapi.dingtalk.com/cspace/add_to_single_chat?access_token=ACCESS_TOKEN&agent_id=AGENT_ID&userid=USERID&media_id=MEDIA_ID&file_name=FILE_NAME, object是null。 请问是什么原因?是我传的值有问题吗,还是其他原因。

展开
收起
周义清 2016-11-09 15:44:54 6783 0
3 条回答
写回答
取消 提交回答
  • Re服务端-钉盘接口API-发送文件给指定用户
    我也遇到了同样的问题,请问您解决了吗??
    2017-04-06 11:02:58
    赞同 展开评论 打赏
  • 回 1楼钉钉-久铖的帖子
    请问这个api我调用后,总是返回{errcode:40007,[font='Microsoft Yahei', 微软雅黑, Arial]errmsg:不合法的媒体文件id}
    [font='Microsoft Yahei', 微软雅黑, Arial]我调用的方法是HttpHelper.dopost(String url,Object object)。
    [font='Microsoft Yahei', 微软雅黑, Arial]传的url是 [font='Microsoft Yahei', 微软雅黑, Arial]https://oapi.dingtalk.com/cspace/add_to_single_chat?access_token=ACCESS_TOKEN&agent_id=AGENT_ID&userid=USERID&media_id=MEDIA_ID&file_name=FILE_NAME[font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial], object传的是null。
    [font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]请问是什么原因?是我传的值有问题吗,还是其他原因。
    [font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]或者您写一个发送文件给指定用户的方法demo。[font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]

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

    Re服务端-钉盘接口API-发送文件给指定用户
    请问这个api我调用后,总是返回{errcode:40007,[font='Microsoft Yahei', 微软雅黑, Arial]errmsg:不合法的媒体文件id}
    [font='Microsoft Yahei', 微软雅黑, Arial]我调用的方法是HttpHelper.dopost(String url,Object object)。
    [font='Microsoft Yahei', 微软雅黑, Arial]传的url是[font='Microsoft Yahei', 微软雅黑, Arial]https://oapi.dingtalk.com/cspace/add_to_single_chat?access_token=ACCESS_TOKEN&agent_id=AGENT_ID&userid=USERID&media_id=MEDIA_ID&file_name=FILE_NAME[font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial], object传的是null。
    [font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]请问是什么原因?是我传的值有问题吗,还是其他原因。
    [font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]或者您写一个发送文件给指定用户的方法demo。[font='Microsoft Yahei', 微软雅黑, Arial][font='Microsoft Yahei', 微软雅黑, Arial]

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

    Re服务端-钉盘接口API-发送文件给指定用户
    请问这个api我调用后,总是返回{errcode:40007,errmsg:不合法的媒体文件id}
    我调用的方法是HttpHelper.dopost(String url,Object object)。
    传的url是https://oapi.dingtalk.com/cspace/add_to_single_chat?access_token=ACCESS_TOKEN&agent_id=AGENT_ID&userid=USERID&media_id=MEDIA_ID&file_name=FILE_NAME, object传的是null。

    请问是什么原因?是我传的值有问题吗,还是其他原因。
    或者您写一个发送文件给指定用户的方法demo。

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

    回 5楼钉钉-久铖的帖子
    我的参数写的没有问题,因为我用Fiddler直接用post提交是能执行成功的,所以我觉得问题应该出在官方给的demo中的HttpHelper.dopost方法上。这个问题也可以这么理解:发送文件给指定用户这个api调用demo中哪个方法可以执行成功。

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

    Re回 5楼钉钉-久铖的帖子
    public static void main(String[] args) throws Exception {
        DingManager dingManager = new DingManager();
       // dingManager.getDingSurveyList(1004271759);
        MediaHelper mediaHelper = new MediaHelper();
        AuthHelper authHelper = new AuthHelper();
        HttpHelper httpHelper = new HttpHelper();
        File file = new File( "C: \\ Users \\ sks \\ Desktop \\ aaa \\ adsf.docx");
         //上传文件获得media_id
        JSONObject jsonObject = httpHelper. uploadMedia( "https://oapi.dingtalk.com/file/upload/single?" +
                 "access_token="+authHelper. getAccessToken()+ "&agent_id="+ Env. AgentID+ "&file_size="+file.length(),file);
         //发送文件给指定用户 api中url
        String url = "https://oapi.dingtalk.com/cspace/add_to_single_chat?" +
                 "access_token="+authHelper. getAccessToken()+ "&agent_id="+Env. AgentID+ "&userid=035705135921414724&media_id=" +
                 ""+jsonObject.get( "media_id").toString()+ "&file_name="+file.getName();
         //执行doPost方法
        JSONObject jsonObject2 = httpHelper. httpPost(url, null);

         try {
        } catch (Exception e) {
            e.printStackTrace();
        }
         // projectManager.importProjectContact(1L,2,"1001533918_sms_0_auto");
    }这是我测试的main方法,执行[size=font-size: 9pt,9pt]httpHelper.[size=font-size: 9pt,9pt] httpPost[size=font-size: 9pt,9pt](url,[size=font-size: 9pt,9pt] null[size=font-size: 9pt,9pt])方法就会报错,报错提示 {errcode:40007,errmsg:不合法的媒体文件id}
    2016-11-09 20:01:51
    赞同 展开评论 打赏
  • 问题能重新写一下吗,这格式看不太明白。

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

    https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7386797.0.0.sPL0T1&treeId=172&articleId=104970&docType=1

    ACCESS_TOKEN AGENT_ID USERID MEDIA_ID FILE_NAME 这些参数请按照如上链接替换。
    请仔细看看文档,消除低级问题,提升你的效率。

    2016-11-09 19:08:14
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载