2015-01-21 38 views
2

我在通過graphalbum查找,找不到地方獲取用戶名。獲取使用Facebook PHP SDK的用戶名稱4.4

如何使用facebook api抓取某人用戶名?

我能做到這一點使用舊的API做一個簡單的

$user_profile = $facebook->api('/me'); 
$user_profile['username']; 

<?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; 

/** 
* Class GraphAlbum 
* @package Facebook 
* @author Daniele Grosso <[email protected]> 
*/ 

class GraphAlbum extends GraphObject 
{ 
    /** 
    * Returns the ID for the album. 
    * 
    * @return string|null 
    */ 
    public function getId() 
    { 
     return $this->getProperty('id'); 
    } 

    /** 
    * Returns whether the viewer can upload photos to this album. 
    * 
    * @return boolean|null 
    */ 
    public function canUpload() 
    { 
     return $this->getProperty('can_upload'); 
    } 

    /** 
    * Returns the number of photos in this album. 
    * 
    * @return int|null 
    */ 
    public function getCount() 
    { 
     return $this->getProperty('count'); 
    } 

    /** 
    * Returns the ID of the album's cover photo. 
    * 
    * @return string|null 
    */ 
    public function getCoverPhoto() 
    { 
     return $this->getProperty('cover_photo'); 
    } 

    /** 
    * Returns the time the album was initially created. 
    * 
    * @return \DateTime|null 
    */ 
    public function getCreatedTime() 
    { 
     $value = $this->getProperty('created_time'); 
     if ($value) { 
      return new \DateTime($value); 
     } 
     return null; 
    } 

    /** 
    * Returns the time the album was updated. 
    * 
    * @return \DateTime|null 
    */ 
    public function getUpdatedTime() 
    { 
     $value = $this->getProperty('updated_time'); 
     if ($value) { 
      return new \DateTime($value); 
     } 
     return null; 
    } 

    /** 
    * Returns the description of the album. 
    * 
    * @return string|null 
    */ 
    public function getDescription() 
    { 
     return $this->getProperty('description'); 
    } 

    /** 
    * Returns profile that created the album. 
    * 
    * @return GraphUser|null 
    */ 
    public function getFrom() 
    { 
     return $this->getProperty('from', GraphUser::className()); 
    } 

    /** 
    * Returns a link to this album on Facebook. 
    * 
    * @return string|null 
    */ 
    public function getLink() 
    { 
     return $this->getProperty('link'); 
    } 

    /** 
    * Returns the textual location of the album. 
    * 
    * @return string|null 
    */ 
    public function getLocation() 
    { 
     return $this->getProperty('location'); 
    } 

    /** 
    * Returns the title of the album. 
    * 
    * @return string|null 
    */ 
    public function getName() 
    { 
     return $this->getProperty('name'); 
    } 

    /** 
    * Returns the privacy settings for the album. 
    * 
    * @return string|null 
    */ 
    public function getPrivacy() 
    { 
     return $this->getProperty('privacy'); 
    } 

    /** 
    * Returns the type of the album. enum{profile, mobile, wall, normal, album} 
    * 
    * @return string|null 
    */ 
    public function getType() 
    { 
     return $this->getProperty('type'); 
    } 

    //TODO: public function getPlace() that should return GraphPage 
} 

回答

1

正如評論被人津津樂道,這個答案只與2014年4月結束之前創建的應用程序有效,2015年四月

後就會過時不使用在PHP SDK,你仍然可以從下面的HTTP請求GET用戶名:

http://graph.facebook.com/[USER_ID] 

的RESU它將是:

{ 
    "id": [USER_ID], 
    "first_name": "", 
    "gender": "male", 
    "last_name": "", 
    "link": "https://www.facebook.com/[USERNAME]", 
    "locale": "en_US", 
    "name": "", 
    "username": [USERNAME] 
} 

不需要訪問令牌。

+0

這是不正確的,你只能得到v2.0用戶的應用範圍id,用戶名不包含在json結果中。這隻會與全球/真正的身份證一起工作,你也不會得到那個。 – luschn 2015-01-21 10:24:55

+0

如果你這樣說:http://i.stack.imgur.com/wuGEZ.png – 2015-01-21 10:28:52

+0

這是你的全球/真實身份。請再次閱讀我的評論,我已經添加了一句話以使其完全清楚;) – luschn 2015-01-21 10:29:57

相關問題