1

实时更新的文档说:

在所有情况下,您都必须发送 OAuth 应用程序 access_token。使用您的 App ID 和您的 App Secret 获取应用访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=<APP_ID>&client_secret=<APP_SECRET>&grant_type=client_credentials

我已经这样做了,并取回了一串表格access_token=<APP_ID>|<String1>-<String2>

另一方面,BaseFacebook::getApplicationAccessToken()来自 Facebook PHP SDK 的方法只是使用“|”将 App ID 与 App Secret(看起来像一个 32 位十六进制表示的数字)连接起来。作为分隔符:

/**
 * @return string The application access token, useful for gathering
 *                public information about users and applications.
 */
protected function getApplicationAccessToken() {
  return $this->appId.'|'.$this->appSecret;
}

这两种应用访问令牌有什么不同的用途?它们可以互换吗?

4

1 回答 1

1

它们可以互换吗?

我的猜测是,他们是;两者都将被接受为您的应用程序的应用程序访问令牌,并将为您提供完全相同的权利来做事。

PHP SDK 已经知道您的应用程序 ID,因为您已经用它初始化了 Facebook 对象实例——因此使用“简单”版本在此处构建访问令牌没有害处。(并且放弃创建应用程序访问令牌的另一种方式,Graph API 端点在这里使用会很愚蠢,因为每个人都可以查看代码内部。)

另一方面,在某些情况下,您的应用访问令牌可能必须在您的控制之外使用(?),因此它们也提供了第一个版本,这样您就不必泄露您的应用秘密。

于 2012-05-31T13:51:48.860 回答