编辑:我已经设法在文档中得到了这么多:https: //developers.facebook.com/docs/graph-api/reference/v2.5/promotion-info
但是,没有任何链接到我能找到的文档中的{promotion-info-id}参数.
我将接受代码/ API引用的答案,这些代码/ API引用也不是特定于PHP的.
我正在尝试获取用户页面并发布符合预期的洞察信息,但是我还需要接收每1000达到(cpm),总花费和新粉丝成本等统计信息.
我能够收到所有用户页面和帖子,但洞察API不会返回任何相关费用.我查看了Marketing API,但无法弄清楚如何将页面和帖子链接到这些统计信息.如何从帖子和页面获取ad_account/ad_campaign值?我需要它们吗?感觉它的API很丢失.
我还需要每天获取统计数据,以计算每日和每月的变化.
我可以使用insights API获取大多数每日统计信息,但不附带任何费用,并且https://developers.facebook.com/docs/graph-api/reference/v2.5/page也不会https://developers.facebook.com /docs/graph-api/reference/v2.5/post不提供这样的东西.
$response = $this->facebook->get('/' . $pageId . '/insights?since=' . date('Y-m') . '-01', $token);
$data = $response->getGraphEdge()->asArray();
Run Code Online (Sandbox Code Playgroud)
此外,是否有一个Facebook沙箱,我可以使用它来提取虚拟成本或其他统计数据,因为我没有一个可以付费内容的页面.
编辑:似乎这可能与Chrome v43有关,我降级到v42,一切正常.
编辑:我已经在Angular的Github回购中提交了一个问题.
似乎错误在angular.js源中被return logFn.apply(console, args);线条抛出
12221.
关于现在该做什么的任何提示?
我正在尝试将我的应用程序从AngularJS v1.2迁移到v1.3或v1.4,但我正在TypeError: Illegal invocation使用Chrome(尝试过win,osx和ubuntu).
堆栈跟踪并没有真正帮助:
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at Scope.$get.Scope.$digest (angular.js:15550)
at Scope.$get.Scope.$apply (angular.js:15824)
at done (angular.js:10263)
at completeRequest (angular.js:10435)
at XMLHttpRequest.requestLoaded (angular.js:10376)
Run Code Online (Sandbox Code Playgroud)
所以这似乎与AJAX请求有关,但我也得到:
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at …Run Code Online (Sandbox Code Playgroud) 编辑:我已经在GitHub上创建了自己的实现
我想知道,ember中是否有内置功能可以保存对象/数组的状态?在我们的应用程序中,我们为特定的Ember.ArrayController构建了自己的撤消/历史记录实现,但它似乎是错误和缓慢的(在Firefox中).所以我想知道是否有什么可以取代我们的脚本.
基本上我们使用它:用户添加,编辑,修改该数组中的元素,有时他们想撤消/重做他们的更改.目前我们将状态数量限制为30(可能不是最佳数量).
任何想法/链接表示赞赏!
我找到了很酷的Momentjs库,但是我没有找到关于如何实现一些简单任务的文档.我正在尝试构建一个倒数计时器,我猜我应该使用持续时间对象,但我不太明白(可能是因为英语不是我的第一语言).无论如何这是我想要的:
var time = 7200;
var duration = moment.duration('seconds',time);
setInterval(function(){
//show how many hours, minutes and secods are left
$('.countdown').text(duration.format('h:mm:ss'));
//this doesn't work because there's no method format for the duration object.
},1000);
Run Code Online (Sandbox Code Playgroud)
所以它应该显示每一秒:
02:00:00
1时59分59秒
1时59分58秒
1时59分57秒
...
00:00:00
如何使用Momentjs库实现此结果?谢谢!
我们公司正计划购买EV证书进行代码签名。我们有应该执行签名的自动构建,但从我们读到的内容来看,持续集成工具将无法工作,因为证书带有硬件加密狗。我已经看到了解决方法,但其中大多数需要 Windows 机器或脚本来签署应用程序。感觉很像黑客。
拥有许多产品的公司如何签署他们的应用程序,他们不能手工完成,是吗?
有哪些工具可以使流程自动化?我的意思是应该有一些带有 API 的软件,您可以在其中传递文件,然后它会返回这些文件的签名版本。或者可以将构建过程分成多台机器或容器的东西。
你们是怎么做的?我们正在为 Windows/macOS 构建应用程序。
我得到这个奇怪的错误"值不能为空.参数名称:输入"但是没有名称为"input"的参数.
我已经尝试过改变代码并玩弄它,但我认为这里有一些简单的东西(我已经多年没有使用SOAP了).
<?php
$xmlData = '<LoanRequest><VendorId>20</VendorId>
<SubVendorId>0</SubVendorId>
<Tier>Dynamic</Tier>
<FirstName>TestFname</FirstName>
<LastName>TestLname</LastName>
<DateOfBirth>1979-03-09</DateOfBirth>
<Title>Mr</Title>
<Postcode>SO164LN</Postcode>
<HouseNumber>98</HouseNumber>
<Street>Test Street</Street>
<Town>Test Town</Town>
<County>Test County</County>
<HomeOwner>False</HomeOwner>
<HomePhone>02300000000</HomePhone>
<WorkPhone>02000000000</WorkPhone>
<MobilePhone>0799123321</MobilePhone>
<Email>pdbuktest@pbuk.com</Email>
<IncomeSource>5</IncomeSource>
<EmployerName>PDB Test</EmployerName>
<TimeWithEmployer>48</TimeWithEmployer>
<PaidByDirectDeposit>1</PaidByDirectDeposit>
<NetMonthlyIncome>1700</NetMonthlyIncome>
<PayFrequency>3</PayFrequency>
<NextPayDay>2013-05-31</NextPayDay>
<PaydayAfterNext>2013-06-07</PaydayAfterNext>
<DebitCard>VD</DebitCard>
<BankAccountNumber>12345678</BankAccountNumber>
<BankSortCode>9987655</BankSortCode>
<NIN></NIN>
<LoanAmount>500</LoanAmount>
<IPAddress>127.0.0.1</IPAddress>
<Consent>1</Consent>
<TimeAtAddressYears>2</TimeAtAddressYears>
<TimeAtAddressMonths>3</TimeAtAddressMonths>
<UserAgent>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)</UserAgent>
<LoanPurpose>Car</LoanPurpose>
<Pricequote>10</Pricequote>
<HousingExpenditure>100</HousingExpenditure>
<CreditExpenditure>150</CreditExpenditure>
<OtherExpenditure>220</OtherExpenditure></LoanRequest>';
$url = 'http://www.pdbuk.co.uk/API/loan.asmx?wsdl';
$options["location"] = $url;
$options['trace'] = 1;
$client = new SoapClient($url, $options);
$result = $client->SendRequest($xmlData);
var_dump($result);
?>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢!
我们正在尝试构建一个内部系统,该系统将使用 WebRTC 为我们提供简单的聊天/视频功能。我们已经成功部署了 Peer.js 客户端和服务器,它们在浏览器上运行得很好。
然而,我们似乎找不到一个相当简单的 Android/iOS 客户端/SDK 来使其与我们的 PeerJS 服务器兼容。
我们尝试研究AppRTC并让 Android 客户端与他们的服务器一起运行,但是我们无法理解如何将其连接到我们的 PeerJS 服务器,因为 Android 客户端(和服务器实现)似乎非常复杂(我们不是 JAVA 专家) )。
我也研究过 EasyRTC,不过他们似乎已经撤回了原生 SDK,但技术堆栈看起来非常接近我们的。
我的问题是,有没有人有 Android/iOS 客户端与在 NodeJS 服务器上运行的 WebRTC 一起使用?有哪些可能的解决方法可以使其在 Android 上本地运行?
我们正在寻找一个相当简单的 Android SDK(链接到库/示例项目),它可以与 PeerJS 服务器一起使用。
编辑:我们可以自己构建一个信令服务器(在 NodeJS 上),但是从那时起我们如何构建 Android/iOS 客户端呢?
对于能回答我们问题的人,我悬赏 200 名代表。
更新:我添加了一个自定义指令,允许我使用动态生成的名称访问输入,但$ valid仍未定义.
我是Angular的新手(试图从jQuery转换)我发现它非常棒,但是我已经把头发拉了好几个小时并且无法弄清楚是什么导致了这个问题.
我想要实现的UI工作流程是让用户点击一个步骤,然后显示一个输入字段,他必须填写(验证是必需的,所以我试图使用ng-required/NG-MINLENGTH个).
如果它通过了验证,它应该显示一个勾号图标并激活下一步,它的工作方式相同.
现在的问题是我可以访问表单元素,但我得到的对象是一个DOM对象,它不包含$ valid属性,我需要检查表单/字段是否有效.
17:20行是:
console.log($scope.step1); //undefined
console.log(step1); //dom object
console.log(step1.value); //dom object
console.log(step1.value.$valid); //undefined
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌上搜索很多关于SO的问题说我应该能够通过$ scope变量访问表单,但不幸的是我不能,虽然它可以通过简单的变量名"step1"访问(动态生成)表格名称).我也可以访问"value"命名字段,但它仍然只是一个DOM对象,因此没有$ valid可用.
JSFiddle:http://jsfiddle.net/Iber/vtvnquee/
我的问题是:
真的很想了解Angular,因为它看起来像是一个适合大型应用程序的框架以及适合我的方式.
我正在构建一个chrome扩展,它通过websockets与nodejs服务器通信.其重点是跟踪内容的浏览历史记录.这一切似乎都有效,但偶尔(30%的时间)传递给onMessage.addListener的函数中的回调不会正确触发.我来告诉你代码:
background.js
var socket = io('http://localhost:3000/');
var tabLoad = function (tab) {
socket.emit('page load', tab);
};
var tabUpdate = function (tabid, changeinfo, tab) {
var url = tab.url;
if (url !== undefined && changeinfo.status == "complete") {
tab.user_agent = navigator.userAgent;
tab.description = '';
tab.content = '';
socket.emit('insert', tab);
}
};
socket.on('inserted', function(page){
socket.emit('event', 'Requesting page content\n');
//page = {tab: page, id: docs._id};
chrome.tabs.sendMessage(page.tab_id, {requested: "content", page: page}, function(data) {
socket.emit('content', data);
});
});
try {
chrome.tabs.onCreated.addListener(tabLoad);
chrome.tabs.onUpdated.addListener(tabUpdate);
} catch(e) { …Run Code Online (Sandbox Code Playgroud) 编辑:我已经添加了一个如何解决这个问题的答案,以防有人挣扎.
我已将笔记本电脑从Ubuntu 11升级到12.04,由于某种原因,coffeescript编译器停止工作.我用它来进行Web开发,但我仍然是一个在linux环境中工作的新手.
基本上当我尝试运行cake.coffeescript时,我得到以下内容:
path.existsSync is deprecated. It is now called `fs.existsSync`.
Cakefile defines the following tasks:
cake doc # generate documentation for *.coffee files
cake doc_copy # copy documentation to gh-pages branch
cake build # generate unified JavaScript file for whole Hallo
cake min # minify the generated JavaScript file
cake bam # build and minify Hallo
Run Code Online (Sandbox Code Playgroud)
所以从某种意义上说它可行,但每当我尝试运行cake.coffeescript构建时,它都会抛出一个错误:
path.existsSync is deprecated. It is now called `fs.existsSync`.
Executing coffee -o examples -j hallo.js -c `find src -type f -name '*.coffee'` …Run Code Online (Sandbox Code Playgroud) javascript ×5
node.js ×3
angularjs ×2
php ×2
android ×1
api ×1
certificate ×1
code-signing ×1
coffeescript ×1
ember.js ×1
facebook ×1
ios ×1
jquery ×1
momentjs ×1
peerjs ×1
soap ×1
ubuntu ×1
undo ×1
validation ×1
webrtc ×1
websocket ×1