[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получение данных из var_dump($derut)
Azamatjon
Приветствую всех, люди добрые уже 2ой день замарачиваюсь вопросом, который описываю ниже:
есть var_dump($tokenMetadata)

А результат этого кода:

object(Facebook\Authentication\AccessTokenMetadata)#13 (1) { ["metadata":protected]=> array(7) { ["app_id"]=> string(16) "12481053752529" ["application"]=> string(6) "ERAS" ["expires_at"]=> object(DateTime)#17 (3) { ["date"]=> string(19) "2017-01-22 04:30:32" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Moscow" } ["is_valid"]=> bool(true) ["issued_at"]=> object(DateTime)#18 (3) { ["date"]=> string(19) "2016-11-23 04:30:32" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Moscow" } ["scopes"]=> array(5) { [0]=> string(5) "email" [1]=> string(12) "manage_pages" [2]=> string(13) "publish_pages" [3]=> string(15) "publish_actions" [4]=> string(14) "public_profile" } ["user_id"]=> string(16) "1059408510843715" } }


как сделать так чтобы я получил каждую как переменный, например:
app_id = 12481053752529;
application = 'ERAS';
date = "2017-01-22 04:30:32"
и тд.


думаю вопрос вы поняли, пожалуйста помогите....буду рад...
TranceIT
В классе Facebook\Authentication\AccessTokenMetadata

public function getMetadata()
{
return $this->metadata;
}


Там где надо получить

$metadata->getMetadata()['app_id'];


Если в классе есть __call(), то метод скорее всего не нужен. См. код.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Azamatjon
Цитата (TranceIT @ 23.11.2016 - 16:43)
В классе Facebook\Authentication\AccessTokenMetadata

public function getMetadata()
{
return $this->metadata;
}


Там где надо получить

$metadata->getMetadata()['app_id'];


Если в классе есть __call(), то метод скорее всего не нужен. См. код.

не получается
<?php
/**
* Copyright 2014 Facebook, Inc.
*
* You are hereby granted a non-exclusive, worldwide, royalty-free license to
* use, copy, modify, and distribute this software in source code or binary
* form for use in connection with the web services and APIs provided by
* Facebook.
*
* As with any software that integrates with the Facebook platform, your use
* of this software is subject to the Facebook Developer Principles and
* Policies [
http://developers.facebook.com/policy/]. This copyright notice
* shall be included in all copies or substantial portions of the software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/

namespace Facebook\Authentication;

use Facebook\Exceptions\FacebookSDKException;

/**
* Class AccessTokenMetadata
*
* Represents metadata from an access token.
*
*
@package Facebook
*
@see https://developers.facebook.com/docs/graph-api/reference/debug_token
*/
class AccessTokenMetadata
{
/**
* The access token metadata.
*
*
@var array
*/

protected $metadata = [];

/**
* Properties that should be cast as DateTime objects.
*
*
@var array
*/

protected static $dateProperties = ['expires_at', 'issued_at'];

/**
*
@param array $metadata
*
*
@throws FacebookSDKException
*/

public function __construct(array $metadata)
{
if (!isset($metadata['data'])) {
throw new FacebookSDKException('Unexpected debug token response data.', 401);
}

$this->metadata = $metadata['data'];

$this->castTimestampsToDateTime();
}

/**
* Returns a value from the metadata.
*
*
@param string $field The property to retrieve.
*
@param mixed $default The default to return if the property doesn't exist.
*
*
@return mixed
*/

public function getField($field, $default = null)
{
if (isset($this->metadata[$field])) {
return $this->metadata[$field];
}

return $default;
}

/**
* Returns a value from the metadata.
*
*
@param string $field The property to retrieve.
*
@param mixed $default The default to return if the property doesn't exist.
*
*
@return mixed
*
*
@deprecated 5.0.0 getProperty() has been renamed to getField()
*
@todo v6: Remove this method
*/

public function getProperty($field, $default = null)
{
return $this->getField($field, $default);
}

/**
* Returns a value from a child property in the metadata.
*
*
@param string $parentField The parent property.
*
@param string $field The property to retrieve.
*
@param mixed $default The default to return if the property doesn't exist.
*
*
@return mixed
*/

public function getChildProperty($parentField, $field, $default = null)
{
if (!isset($this->metadata[$parentField])) {
return $default;
}

if (!isset($this->metadata[$parentField][$field])) {
return $default;
}

return $this->metadata[$parentField][$field];
}

/**
* Returns a value from the error metadata.
*
*
@param string $field The property to retrieve.
*
@param mixed $default The default to return if the property doesn't exist.
*
*
@return mixed
*/

public function getErrorProperty($field, $default = null)
{
return $this->getChildProperty('error', $field, $default);
}

/**
* Returns a value from the "metadata" metadata. *Brain explodes*
*
*
@param string $field The property to retrieve.
*
@param mixed $default The default to return if the property doesn't exist.
*
*
@return mixed
*/

public function getMetadataProperty($field, $default = null)
{
return $this->getChildProperty('metadata', $field, $default);
}

/**
* The ID of the application this access token is for.
*
*
@return string|null
*/

public function getAppId()
{
return $this->getField('app_id');
}

/**
* Name of the application this access token is for.
*
*
@return string|null
*/

public function getApplication()
{
return $this->getField('application');
}

/**
* Any error that a request to the graph api
* would return due to the access token.
*
*
@return bool|null
*/

public function isError()
{
return $this->getField('error') !== null;
}

/**
* The error code for the error.
*
*
@return int|null
*/

public function getErrorCode()
{
return $this->getErrorProperty('code');
}

/**
* The error message for the error.
*
*
@return string|null
*/

public function getErrorMessage()
{
return $this->getErrorProperty('message');
}

/**
* The error subcode for the error.
*
*
@return int|null
*/

public function getErrorSubcode()
{
return $this->getErrorProperty('subcode');
}

/**
* DateTime when this access token expires.
*
*
@return \DateTime|null
*/

public function getExpiresAt()
{
return $this->getField('expires_at');
}

/**
* Whether the access token is still valid or not.
*
*
@return boolean|null
*/

public function getIsValid()
{
return $this->getField('is_valid');
}

/**
* DateTime when this access token was issued.
*
* Note that the issued_at field is not returned
* for short-lived access tokens.
*
*
@see https://developers.facebook.com/docs/facebook-login/access-tokens#debug
*
*
@return \DateTime|null
*/

public function getIssuedAt()
{
return $this->getField('issued_at');
}

/**
* General metadata associated with the access token.
* Can contain data like 'sso', 'auth_type', 'auth_nonce'.
*
*
@return array|null
*/

public function getMetadata()
{
return $this->getField('metadata');
}

/**
* The 'sso' child property from the 'metadata' parent property.
*
*
@return string|null
*/

public function getSso()
{
return $this->getMetadataProperty('sso');
}

/**
* The 'auth_type' child property from the 'metadata' parent property.
*
*
@return string|null
*/

public function getAuthType()
{
return $this->getMetadataProperty('auth_type');
}

/**
* The 'auth_nonce' child property from the 'metadata' parent property.
*
*
@return string|null
*/

public function getAuthNonce()
{
return $this->getMetadataProperty('auth_nonce');
}

/**
* For impersonated access tokens, the ID of
* the page this token contains.
*
*
@return string|null
*/

public function getProfileId()
{
return $this->getField('profile_id');
}

/**
* List of permissions that the user has granted for
* the app in this access token.
*
*
@return array
*/

public function getScopes()
{
return $this->getField('scopes');
}

/**
* The ID of the user this access token is for.
*
*
@return string|null
*/

public function getUserId()
{
return $this->getField('user_id');
}

/**
* Ensures the app ID from the access token
* metadata is what we expect.
*
*
@param string $appId
*
*
@throws FacebookSDKException
*/

public function validateAppId($appId)
{
if ($this->getAppId() !== $appId) {
throw new FacebookSDKException('Access token metadata contains unexpected app ID.', 401);
}
}


/**
* Ensures the user ID from the access token
* metadata is what we expect.
*
*
@param string $userId
*
*
@throws FacebookSDKException
*/

public function validateUserId($userId)
{
if ($this->getUserId() !== $userId) {
throw new FacebookSDKException('Access token metadata contains unexpected user ID.', 401);
}
}


/**
* Ensures the access token has not expired yet.
*
*
@throws FacebookSDKException
*/

public function validateExpiration()
{
if (!$this->getExpiresAt() instanceof \DateTime) {
return;
}

if ($this->getExpiresAt()->getTimestamp() < time()) {
throw new FacebookSDKException('Inspection of access token metadata shows that the access token has expired.', 401);
}
}


/**
* Converts a unix timestamp into a DateTime entity.
*
*
@param int $timestamp
*
*
@return \DateTime
*/

private function convertTimestampToDateTime($timestamp)
{
$dt = new \DateTime();
$dt->setTimestamp($timestamp);

return $dt;
}

/**
* Casts the unix timestamps as DateTime entities.
*/

private function castTimestampsToDateTime()
{
foreach (static::$dateProperties as $key) {
if (isset($this->metadata[$key])) {
$this->metadata[$key] = $this->convertTimestampToDateTime($this->metadata[$key]);
}
}
}
}

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.