Javascript Twitter小部件突然停止工作

Javascript Twitter小部件突然停止工作,javascript,angularjs,twitter,twitter-widget,Javascript,Angularjs,Twitter,Twitter Widget,我使用Twitter的widgets.js在Angular应用程序的页面上嵌入了一些推文。他们已经工作很长时间了。我今天注意到他们突然停止了工作。我一直在尝试调试这个问题,但无论我怎么做,我似乎都无法加载推文。控制台中没有错误。如果我从控制台手动初始化Tweets,代码似乎正常执行。我可以通过在then函数中的控制台上记录一些东西来验证这一点,该函数只有在twttr.widgets.createTweet()返回的承诺得到解决时才应该调用 在我的application.html.erb中,我有以

我使用Twitter的
widgets.js
在Angular应用程序的页面上嵌入了一些推文。他们已经工作很长时间了。我今天注意到他们突然停止了工作。我一直在尝试调试这个问题,但无论我怎么做,我似乎都无法加载推文。控制台中没有错误。如果我从控制台手动初始化Tweets,代码似乎正常执行。我可以通过在
then
函数中的控制台上记录一些东西来验证这一点,该函数只有在
twttr.widgets.createTweet()返回的承诺得到解决时才应该调用

在我的
application.html.erb
中,我有以下内容:

<!-- Twitter oEmbed Widget -->
<script>
    window.twttr = (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0],
        t = window.twttr || {};
        if (d.getElementById(id)) return t;
        js = d.createElement(s);
        js.id = id;
        js.src = "https://platform.twitter.com/widgets.js";
        fjs.parentNode.insertBefore(js, fjs);

        t._e = [];
        t.ready = function(f) {
            t._e.push(f);
        };

        return t;
    }(document, "script", "twitter-wjs"));
</script>
如果我在
$timeout
块中插入
调试器
,我可以看到
angular.element('#post_uuu'+$scope.post.id)
从DOM返回有效的
div
。如果我去我的账户,我也可以确认我的推特在推特上

这个设置已经运行了一段时间了。我没有对它做任何更改。事实上,几个小时前它还在工作!我想知道的是如何调试它并找出它突然停止工作的原因。我检查了Twitter API的状态,它说它在过去的24小时内有100%的正常运行时间

更新


我设法用一种新的方式再现了这个问题。据我所知,我用于测试的帐户中的推文似乎有问题。正如您在Fiddle中所看到的,我指定了两个Tweet ID-
tweetA
tweetB
,然后将它们嵌入其中。第一个是我的,无法加载。第二个负载很好。

你最近有过吗?是的,这就是问题所在。我团队中的其他人将帐户设置为私人帐户,但没有说任何话。我以为我疯了。你最近有吗?是的,这就是问题所在。我团队中的其他人将帐户设置为私人帐户,但没有说任何话。我以为我疯了。
<div class="fade" ng-show="!loading" ng-if="post.provider === 'twitter'" id="{{'post_' + post.id}}"></div>
function loadWidget() {
    if($scope.post.provider === 'twitter') {
        $timeout(function() {
            if(angular.element('#post_' + $scope.post.id).find('iframe').length === 0) {
                twttr.widgets.createTweet($scope.post.twitter_id, document.getElementById('post_' + $scope.post.id)).then(function(resp) {
                    $timeout(function() {
                        $scope.loading = false;
                    })
                });
            };
        }, 2500);
    };
};