小编red*_*nce的帖子

持久的FB访问令牌,用于服务器提取FB页面信息

我知道有很多关于Facebook访问令及其引起的悲痛的问题,但尽管进行了大量实验并阅读了许多令人沮丧的模糊博客文章(FB等),我仍然在努力为我的需求做出明确的回答.到目前为止,让我简洁地分解我的过程:

  • 我正在创建一个站点,服务器端,需要从单个Facebook页面提取帖子/状态
  • 我是Facebook页面的管理员
  • 我创建了一个Facebook应用程序
  • 使用Facebook Graph API Explorer,我生成了一个短链密钥,连接到我的应用程序和我的帐户,授予我的帐户权限以查看我的网页的访问令牌
  • 我已经将我短暂的键从一个长寿命密钥(60天)ALA方案4

而这就是我被困的地方.我的60天密钥适用于我的服务器从页面中提取所需的信息,但据我所知,没有办法以编程方式扩展该60天密钥.我也不知道如何生成新的短期密钥,而无需手动访问Facebook Graph API Explorer并创建一个.

由于我的服务器向Facebook API发出请求而不是基于用户的系统(我可以轻松地请求用户再次授权Facebook应用程序),这会创建一个非常笨重的系统.由于Facebook已offline_access被弃用,是否真的没有永久的方法让我的服务器从我自己的页面提取信息?我是否真的需要手动创建一个新密钥并每60天手动更新一次我的服务器?

还是有什么我想念的?

更新:

之前在此处找到的分步指南已经迁移到自己的答案中.

facebook facebook-graph-api facebook-access-token

113
推荐指数
3
解决办法
4万
查看次数

间歇性RequireJS加载错误

我有一个使用RequireJS的相当大的Backbone.js项目.随着项目规模的增长(这里"大小"指的是单独模块文件的数量),间歇性错误开始出现.大多数情况下,这是一个对象错误:

Uncaught TypeError: object is not a function

有时,它抱怨模块没有加载.

一旦项目通过r.js优化器运行,这些错误就会消失.它们仅在RequireJS加载单个模块时发生.

这让我想到了我的问题 - 当模块数量达到一定数量时,RequireJS是否开始出现模块加载问题?

javascript module requirejs backbone.js js-amd

16
推荐指数
3
解决办法
7915
查看次数

让NSWindow成为前沿但不是焦点

我想在所有其他窗户前面带一个新的NSWindow,但没有把它放在焦点上.

我可以将它显示在前面,重点如下:

NSApplication *thisApp = [NSApplication sharedApplication];
[thisApp activateIgnoringOtherApps:YES];

[self makeKeyAndOrderFront:self];

有关如何使其显示在顶部但不关注其他应用程序的任何线索?

macos cocoa objective-c

15
推荐指数
2
解决办法
9922
查看次数

侦听对Javascript对象值的更改

是否有可能(使用jQuery或其他方式)监听非DOM Javascript对象(或变量)的值的变化?所以,例如,我有:

function MyObject()
{
    this.myVar = 0;
}

var myObject = new MyObject();
myObject.myVar = 100;
Run Code Online (Sandbox Code Playgroud)

有没有办法在myVar更改值时调用并调用函数?我知道我可以使用getter/setter,但在以前版本的IE中不支持它们.

javascript jquery

10
推荐指数
2
解决办法
3万
查看次数

Git推送到Azure失败(RPC失败)

我已经通过Git部署到Azure几个月没有出现重大问题,但现在我似乎遇到了一个我无法通过的错误.

我创建了一个新的Azure网站,为活动开发中的项目创建单独的预览链接.我在新网站上设置了Git发布,并尝试推送我在其他Azure网站上使用的相同项目仓库.然而,每次推送尝试都失败了:

error: RPC failed; result=56, HTTP code = 0
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我已经尝试过一个小得多的提交(只是一个空文本文件),推送顺利进行.

我很确定这个错误是由于我的回购大小(~50mb).由于这是一个新的推动,它需要转移完整的回购尺寸,而不是我已经做了几个月的增量推动.

我试过增加我的http.postBuffer:

git config http.postBuffer 524288000
Run Code Online (Sandbox Code Playgroud)

但我的推动仍然失败.

Azure是否需要增加它收到的POST请求的大小?或者还有另一种我不知道的修复方法吗?

有什么建议?

更新:
这是一个已知问题.它(到目前为止)已经缩小到与Mac和https相结合的问题.您可以在MSDNGitHub上关注问题线程.

git azure

7
推荐指数
1
解决办法
5011
查看次数

Google Cloud Datastore中的交易具有很强的一致性

Google Cloud Datastore是一个非关系数据库,建立在最终一致性的概念之上.它还提供了一种通过祖先查询和实体组获得强一致性的方法.但是,在事务中使用祖先查询时,我没有获得强一致性.

考虑一下:

class Child(ndb.Model):

    @classmethod
    def create(cls):
        child = cls()
        child.put()
        print Child.query().fetch()

Child.create()
Run Code Online (Sandbox Code Playgroud)

由于这不使用实体组,因此它最终具有一致性.正如所料,我们得到:

[]
Run Code Online (Sandbox Code Playgroud)

让我们使用实体组和祖先查询来尝试它:

class Parent(ndb.Model):

    pass


class Child(ndb.Model):

    @classmethod
    def create(cls, parent):
        child = cls(parent=parent)
        child.put()
        print Child.query(ancestor=parent).fetch()


parent = Parent().put()
Child.create(parent)
Run Code Online (Sandbox Code Playgroud)

这里我们得到了很强的一致性,所以输出是:

[Child(key=Key('Parent', <id>, 'Child', <id>))]
Run Code Online (Sandbox Code Playgroud)

但是,当我们将一个交易投入到混合中时:

class Parent(ndb.Model):

    pass


class Child(ndb.Model):

    @classmethod
    @ndb.transactional
    def create(cls, parent):
        child = cls(parent=parent)
        child.put()
        print Child.query(ancestor=parent).fetch()


parent = Parent().put()
Child.create(parent)
Run Code Online (Sandbox Code Playgroud)

输出是:

[]
Run Code Online (Sandbox Code Playgroud)

鉴于翻译主要用于祖先查询(跨组标志甚至存在只是为了绕过该要求),为什么在事务中丢失了强一致性?

python google-app-engine app-engine-ndb google-cloud-datastore google-cloud-platform

5
推荐指数
1
解决办法
498
查看次数

使用TestFlight进行内部测试时,什么是优秀的iOS应用程序版本控制策略?

我有一个iOS应用程序,它使用语义版本标记来标记已发布的版本.我还使用Apple的TestFlight将内部构建推送到团队进行测试/ QA.

推送内部版本需要将版本上传到iTunes Connect.iTunes Connect的测试版本和发布版本没有区别,iTunes Connect不允许覆盖以前上传的版本.因此,每当我想推出一个新的内部测试版本时,我都要修改版本号(好吧,补丁(XX X)号码).

这工作正常,除了我们的用户看起来我们的版本号在更新之间跳了很多.例如,如果这是我们的构建历史记录:

  • v1.0.0
  • v1.0.1 (在测试中发现了bug)
  • v1.0.2
  • v1.1.0 (在测试中发现了bug)
  • v1.1.1 (在测试中发现了bug)
  • v1.1.2

...然后用户只看到大胆的版本,我们的发布历史看起来很奇怪:

  • v1.0.0
  • v1.0.2
  • v1.1.2

我认为避免这种情况的一个好方法是使用beta版本,例如v1.1.0-beta测试版本,但iTunes Connect拒绝任何不是的版本字符串X.X.X.

有没有办法继续使用TestFlight进行内部测试/ QA,并避免向用户出现填补空白的版本历史记录?

app-store ios testflight semantic-versioning

4
推荐指数
2
解决办法
2724
查看次数

Herek上的Jekyll列出了我没有创建的其他(内部?)帖子

好吧,我正在处理一个非常奇怪的问题.

我已经建立了一个基于杰基尔的网站,里面有几个测试帖.在本地,它完美编译.现在我开始在Heroku(最终的家)上测试它.我正在使用自定义buildpack来构建网站,一旦它被推送到Heroku,所以我不必将已编译的内容提交到我的仓库中.

Jekyll网站正在建设中没有错误,然而,结果是奇怪的.我的索引页面用于列出我的所有帖子site.posts:

{% for post in site.posts %}
  <li>
    <a href="{{ post.url }}">{{ post.title }}</a>
  </li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

它从我制作的测试帖开始,然后列出了我从未创建的其他28个"帖子".他们看起来像内部的Jekyll函数以某种方式陷入编译器.以下是他们的一些名字:

  • Md扩展
  • 文字扩展名
  • 时区覆盖
  • 时间覆盖
  • 覆盖数据
  • 日期覆盖
  • Foo ---酒吧
  • 没有Yaml
  • ...

这些"帖子"仅在Heroku上编译时出现.

有没有人知道这里发生了什么?

ruby heroku jekyll

2
推荐指数
1
解决办法
193
查看次数