【问题标题】:Is there a way to export Testflight external tester emails有没有办法导出 Testflight 外部测试人员的电子邮件
【发布时间】:2015-08-09 14:47:29
【问题描述】:

iTunes connect 似乎没有从Prerelease > External testers 基本导出用户电子邮件

需要将电子邮件导出为 CSV

有人有脚本或解决方法吗?

谢谢!

【问题讨论】:

    标签: ios app-store-connect testflight


    【解决方案1】:

    您可以使用pilot(来自 Fastlane)来做到这一点:

    要导出为 CSV 文件:fastlane pilot export

    $ fastlane pilot list
    
    +--------+--------+--------------------------+-----------+
    |                    Internal Testers                    |
    +--------+--------+--------------------------+-----------+
    | First  | Last   | Email                    | # Devices |
    +--------+--------+--------------------------+-----------+
    | Felix  | Krause | felix@krausefx.com       | 2         |
    +--------+--------+--------------------------+-----------+
    
    +-----------+---------+----------------------------+-----------+
    |                       External Testers                       |
    +-----------+---------+----------------------------+-----------+
    | First     | Last    | Email                      | # Devices |
    +-----------+---------+----------------------------+-----------+
    | Max       | Manfred | email@email.com            | 0         |
    | Detlef    | Müller  | detlef@krausefx.com        | 1         |
    +-----------+---------+----------------------------+-----------+
    

    【讨论】:

      【解决方案2】:

      只需使用控制台获取电子邮件、名字、姓氏

      将此粘贴​​到控制台 https://gist.github.com/creaoy/80d1092283a5d0fa1070

      【讨论】:

      【解决方案3】:

      经过反复试验(因为我很绝望),我找到了一条出路,即低科技方式

      转到活动 > iOS 历史记录 > 所有构建 > 测试人员

      这是您查看所有外部和内部测试人员的电子邮件、姓名、状态、会话、崩溃和设备的页面。选择所有行并将它们粘贴到 Excel 中。它会很好地显示每个单元格中的所有信息:) 选择 excel 中的第一列,你只有所有的电子邮件。

      【讨论】:

      • 这些天没有“测试人员”选项。
      【解决方案4】:

      我扩展了 creaoy 的脚本以包含状态(已通知/已安装 x.xx)。今天仍然对我有用。

      一直向下滚动,以便加载所有测试人员。然后将其粘贴到 Safari 的错误控制台并回车。

      var text = ''; 
      $('.col-email').each(function(index,el) { 
      if (index == 0) {
          text = 'Email, First Name, Last Name, Status\n';
      }
      else {
          //Email
          text = text + $.trim($(el).find("a").text()) + ',';
          //First Name
          text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[0]).text()) + ',';
          //Last Name
          text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[1]).text()) + ',';
          //Status
          text = text + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[0]).text()) + '\n';
      }
      }); 
      var a = document.createElement("a"); 
      var file = new Blob([text], {type: 'text/csv'});
       a.href = URL.createObjectURL(file); 
       a.download = name; a.click();
      

      【讨论】:

        【解决方案5】:

        还没有。您只能导入一个 csv 文件,但不能从那里的用户创建一个。

        您可以复制行,在 TextEdit/Notepad 中按以下格式编辑它们: 名字,姓氏,电子邮件

        并将其保存为 csv 以供您以后导入这些电子邮件时使用。

        如果他们实现它以自动执行此操作会很好,或者至少可以选择将更新发送到您可以创建的特定组。

        【讨论】:

          【解决方案6】:

          我做了一个小控制台破解,只提取电子邮件。根据您的喜好改进:-)

          https://gist.github.com/larsparendt/a67d25b1611db67ba67b

          【讨论】:

            【解决方案7】:

            一些很好的答案,但想添加另一个选项。 BoardingBot 是一个 tool that lets you send TestFlight 自动邀请,以及发送给您的 beta 测试人员的电子邮件。因此,这可能会满足您联系 Beta 测试人员的需求。

            免责声明:我是 BoardingBot 的创始人 :)

            【讨论】:

              【解决方案8】:

              由于 iTunes Connect 现在是 Angular 应用程序,因此此页面上的许多答案不再有效。但是如果您有 Chrome 的 Angular/Batarang 扩展程序,您可以将此脚本粘贴到控制台 (cmd+i) 中,它会输出一个 csv。请注意,首先您必须检查列表中的项目 (cmd + shift + c) 以获得对 $scope 的引用。另外不要忘记向下滚动以使页面自动加载整个列表。

              var text = ''; 
              angular.forEach($scope.filteredTesters, function(val) {
                  text += val.firstName.value + ',';
                  text += val.lastName.value + ',';
                  text += val.emailAddress.value + '\n';
              }); 
              var a = document.createElement("a"); 
              var file = new Blob([text], {type: 'text/csv'});
              a.href = URL.createObjectURL(file); 
              a.download = name; a.click();
              

              【讨论】:

                【解决方案9】:

                编辑:

                下面的方法很简单——有一个很棒的 ruby​​ gem 用于管理 testflight 测试人员,称为 Fastlane Pilot。我会建议改为:https://github.com/fastlane/fastlane/tree/master/pilot


                找到一个可以完成这项工作的 google chrome 扩展程序:

                表格捕获:https://chrome.google.com/webstore/detail/table-capture/iebpjdmgckacbodjpijphcplhebcmeop/reviews?hl=en

                还需要过滤掉重复项,这可以使用 Google 电子表格来完成

                【讨论】:

                • 你是如何过滤掉骗子的?
                【解决方案10】:

                如果您只需要电子邮件并且有一个带有正则表达式替换的文本编辑器,您可以这样做

                1. 在 itunesconnect 中滚动到列表底部,以便获取所有行
                2. 将所有行复制到您选择的文本编辑器中(我使用了 sublime text)
                3. ^.*\n\n 替换为<empty string>。这会删除所有名称
                4. \n\s\n 替换为,
                5. \n 替换为,

                你会得到所有电子邮件的 CSV

                【讨论】:

                  【解决方案11】:

                  如果你像我一样也需要日期,这就是你需要的代码:

                  var text = ''; 
                  $('.col-email').each(function(index,el) { 
                  if (index == 0) {
                      text = 'Email, First Name, Last Name, Status, Date\n';
                  }
                  else {
                      //Email
                      text = text + $.trim($(el).find("a").text()) + ',';
                      //First Name
                      text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[0]).text()) + ',';
                      //Last Name
                      text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[1]).text()) + ',';
                      //Status
                      text = text + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[0]).text()) + ',';
                  	//Date
                  	text = text + '\"' + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[2]).text()) + '\"\n';
                  }
                  }); 
                  var a = document.createElement("a"); 
                  var file = new Blob([text], {type: 'text/csv'});
                   a.href = URL.createObjectURL(file); 
                   a.download = name; a.click();

                  【讨论】:

                    【解决方案12】:

                    我想出了一个 jQuery 解决方案,以 CSV 格式将此数据输出到控制台。这取决于页面选择器的设置方式,但截至目前(2017 年 9 月),它运行良好。

                    在浏览器上打开控制台(我使用的是 Chrome),复制并粘贴此代码,然后按 Enter。又快又脏。

                    编辑

                    我从 guido 的答案中借用了一些代码,在点击回车后触发自动下载。

                    output = "email,first name,last name\n";
                    
                    jQuery('table.table-itc-testers tr[ng-repeat*="itcUser"]').each(function(){
                        row = [];
                    
                        //Email Address
                        row.push(jQuery(this).find('span a[href*="users_roles"]').text());
                    
                        // First and last name
                        full_name = jQuery(this).find('td.sorted > span:not(.ng-hide)');
                    
                        // If only name is filled out
                        if(full_name==""){
                            row.push("");
                            row.push("");
                        } else {
                        row.push(full_name.clone().children().remove().end().text().trim());
                            row.push(full_name.find('span.lastname').text());
                        }
                    
                        output += row.join(",") + "\n";
                    });
                    
                    var a = document.createElement("a"); 
                    var file = new Blob([output], {type: 'text/csv'});
                    a.href = URL.createObjectURL(file); 
                    a.download = 'external_testers.csv'; a.click();
                    

                    【讨论】:

                      【解决方案13】:

                      带有新答案的快速更新:iTunes Connect 现在在页面右侧有一个易于使用的下载按钮!

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2015-04-17
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多