【问题标题】:Getting protected values from object Facebook API (PHP)从对象 Facebook API (PHP) 获取受保护的值
【发布时间】:2018-03-12 23:19:28
【问题描述】:

如何从 FB 在其 API 中返回的下面的对象中获取受保护的值?

Facebook\Authentication\AccessToken Object
(
    [value:protected] => AAAAAAA
    [expiresAt:protected] => DateTime Object
        (
            [date] => 2017-11-30 19:27:26.000000
            [timezone_type] => 3
            [timezone] => UTC
        )

)

我试过这样:$var->value$var->expiresAt->date 但不起作用。

【问题讨论】:

  • 这是一个具有类定义的对象......如果有正当理由可以访问这些属性,该类将提供获取这些属性的方法

标签: php facebook object protected


【解决方案1】:

Facebook API 封装了它的属性,因此您需要使用 getter。例如,您可以使用 getter 获取 expiresAt 属性:

var_dump($accessToken->getExpiresAt()->format("d/m/Y H:i:s")); // string(19) "30/11/2017 16:43:11"

value 和其他属性也是如此。

【讨论】:

  • 我实际上不需要重新格式化,有没有办法按原样获取expiresAt?那么value 又名呢。令牌?我怎么得到它?
  • 只需删除format() 调用,$expires = $accessToken->getExpiresAt()。对于值,$value = $accessToken->getValue();
  • 我厌倦了$accessToken->getExpiresAt() 没有格式化,因为我不需要格式化它。而且它不起作用。
  • 我不太明白你,当你说“原样”时,你的意思是你需要 DateTime 实例,还是你需要像示例输出中那样格式化的日期?因为只获取getExpiresAt() 会给您一个DateTime 实例,并且您需要对其进行格式化以获取字符串。
  • $accessToken->getValue() 有效。 $accessToken->getExpiresAt() 没有格式部分就无法工作。我不需要重新格式化任何内容,因为它会直接进入数据库。
猜你喜欢
  • 2019-05-21
  • 2013-11-12
  • 1970-01-01
  • 2018-07-19
  • 2013-12-18
相关资源
最近更新 更多