我正在使用facebook手动为我的应用程序构建登录系统。在tutorial之后,我被告知做一些获取用户信息的请求。回复返回的令牌我得到了这个
(使用FILE_GET_CONTENTS()):
$access_token = "graph.facebook.com/oauth/access_token?client_id=$client_id&redirect_uri=$redirect_uri&client_secret=$client_secret&code=$user_code") :
回显$ access_token:
access_token = CAAKlMMCiHp(...)ZByh3faLzh & expires = 5125282
或 app_token (“graph.facebook.com/oauth/access_token?client_id=$client_id&client_secret=$client_secret&grant_type=client_credentials”):
回显$ app_token:
access_token = 744(...)90 | vZU2(...)e0-s
获取我必须做的用户信息的最后一个是:
$last_one = "graph.facebook.com/debug_token?access_token=$access_token&app_token=$app_token";
检查上面我必须使用 $ access_token 和 app_token 。问题是当我echo $access_token
获得的是字面 access_token = xxxx ... ,包括“access_token”和“=”符号而不仅仅是令牌。
所以,当我尝试做我的最后一个请求( $ last_one )时,我有(带有变量替换):
$ last_one =“graph.facebook.com/debug_token?access_token=access_token=xxx&app_token=app_token=xxxx”;
为了避免这种情况,我删除了第一个“access_token =”和“app_token =”并成功删除了副本。不幸的是,我现在有 access_token = xxx& access_token = xxx ,因为虽然一个是字面上的访问而另一个是应用程序,它们都被视为access_token,它们的echo也表示“access_token =”,如上所示。 / p>
我的问题是,如果这应该发生,我怎么才能得到令牌?我发现需要使用substr()来消除令牌“access_token =”的第一部分,这有点荒谬。我应该通过file_get_contents()的getter部分来获取令牌吗?我应该在最后一个请求中包含第一个令牌的& expires = xxxx 吗?请参阅并简要阅读“确认身份”中的tutorial以了解我的困境是什么。我希望自己完成,非常感谢你!