我想知道是否有可能有一个永不过期的访问令牌发布到我的页面
现在我获得了访问令牌:
https://graph.facebook.com/me/accounts
Run Code Online (Sandbox Code Playgroud)
我publish_stream
和manage_pages
权限,但使用的访问令牌调试我看到令牌在约1小时后到期.有没有办法永不过期?
我读过这个: 尝试获取应用访问令牌
它不起作用......我收到以下错误:
"error": {
"message": "An active access token must be used to query
information about the current user.",
"type": "OAuthException",
"code": 2500
}
Run Code Online (Sandbox Code Playgroud)
我需要app访问令牌才能创建应用程序拥有的开放图形对象.我知道如何创建用户拥有的对象,但我无法找到创建App访问令牌的正确方法.
AppId - >不起作用... AppId | AppSecret - >不起作用.... App ClientToken - >不起作用....
谁知道这个?
我正试图通过Facebook API访问分数,以获得我朋友的分数列表.当我尝试访问时/[facebook id]/scores
,即使使用我的应用访问令牌,也会出现以下错误:
FacebookApiException [0]:需要用户访问令牌来请求此资源.~APPATH/classes/basefacebook.php [1039]
如何获取用户访问令牌?
更新:阅读http://developers.facebook.com/docs/reference/api/permissions/后,我确认应用访问令牌和用户访问令牌是两个不同的访问令牌.问题仍然存在,我如何获得用户访问令牌?
php facebook facebook-graph-api access-token facebook-access-token
我可以通过编程方式调用Facebook Access Token linter/debugger的图形API 吗?
短绒很好.它告诉您有关您拥有的令牌的各种很酷的信息,例如授予的权限(可通过我获得me/permissions
),问题和到期日期,应用程序ID,应用程序名称,配置文件ID,用户ID,用户名,如果它是有效的(如果我尝试调用/me
并注意返回的异常,则可用)和原点.
App ID: APP ID : APP NAME
Profile ID: PAGE NAME
User ID: ID : NAME
Issued: 1328916821 : 3:33 pm Feb 10 2012
Expires: 1334100821 : 4:33 pm Apr 10 2012
Valid: True
Origin: Web
Run Code Online (Sandbox Code Playgroud)
那怎么样?是否有一种编程方式来获取此信息而无需使用屏幕抓取linter工具?
facebook facebook-graph-api access-token facebook-access-token
我想使用Facebook的图形API从桌面应用程序中按名称对用户进行简单搜索.我想要的结果是用户名列表和他们的个人资料的链接.我花了几个小时阅读文档,但对我来说仍然不是很清楚,我需要哪些访问令牌.我在Facebook上创建了一个开发者帐户,并添加了一个新的应用程序.我有一个应用访问令牌,我尝试使用以下网址进行搜索:
https://graph.facebook.com/search?q=john&access_token={my_app_access_token}
我收到了以下回复:
{
"error": {
"message": "An unknown error has occurred.",
"type": "OAuthException",
"code": 1
}
}
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,如果可以在没有用户访问令牌的情况下进行这样简单的搜索.因此,坐在桌面应用程序前面的用户不必在某处输入他的facebook凭据 - 从不.这可以以某种方式完成吗?
facebook facebook-graph-api access-token facebook-access-token
我按照Facebook SDK for PHP文档创建了两个文件,login.php和fb-callback.php,其中包含fb-callback.php中的所有查找逻辑.当我这样做,一切正常.
但是我想将查找逻辑移到get-posts.php并通过fb-callback.php中的ajax调用它.当我这样做时,我似乎无法获得访问令牌.我收到下面提到的错误,"访问令牌:错误的请求".
我已将fb-config.php和get-posts.php注册为有效的OAuth重定向URI.那么如何获得get-posts.php的正确参数呢?
以下是所有相关文件:
的login.php
<?php
require_once "config.php";
$redirectURL = 'https://' . $_SERVER[ 'SERVER_NAME' ] . '/r/fb-callback.php';
$permissions = ['email','user_photos','user_posts'];
$loginUrl = $helper->getLoginUrl($redirectURL, $permissions);
?>
<a href='<?php echo $loginUrl; ?>'>
<img src='continue-with-facebook.png'>
</a>
?>
Run Code Online (Sandbox Code Playgroud)
config.php文件
<?php
if( !session_id() ) {
session_start();
}
require_once '/home/bitnami/vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => '---',
'app_secret' => '---',
'default_graph_version' => 'v3.1',
]);
$helper = $fb->getRedirectLoginHelper();
?>
Run Code Online (Sandbox Code Playgroud)
FB-callback.php
<?php
require_once("config.php");
?>
<html>
<head>
<script type='text/javascript' src='jquery.js'></script>
<script>
var $j = jQuery.noConflict();
$j(document).ready(function …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PHP开发一个Facebook应用程序(apps.facebook.com/some_app),我需要根据用户的音乐兴趣提供一些信息.我发现它在"user_likes>游戏"下.
我的问题如下:
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri="
. urlencode($canvas_page)
."&scope=user_likes";
Run Code Online (Sandbox Code Playgroud)
http://MY_CANVAS_PAGE/?code=some base64 encoded letters
Run Code Online (Sandbox Code Playgroud)
if(empty($code) && !isset($_REQUEST['error'])) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
echo("<script> top.location.href='" . $auth_url . "'</script>");
}
Run Code Online (Sandbox Code Playgroud)
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
echo ("Welcome User: " . $data["user_id"]);
Run Code Online (Sandbox Code Playgroud)
还尝试了http://developers.facebook.com/blog/post/500/中的代码
但是在尝试使用调试信息时遇到错误
print_r($decoded_response);
Run Code Online (Sandbox Code Playgroud)
stdClass Object ( [error] => stdClass Object ( [message] => An active
access token must be …
Run Code Online (Sandbox Code Playgroud) php facebook facebook-graph-api facebook-apps facebook-access-token
我想知道通过一个平台收到的用户访问令牌是否可用于访问并通过另一个平台进行facebook调用.
例如:
我有一个可以一起工作的移动应用程序和Web服务器.用户通过移动应用程序上的Facebook登录(通过单点登录).然后,用户以内部服务要求对Facebook进行外部服务调用的方式使用移动应用程序.内部服务将此中继到Web服务器,Web服务器对facebook进行实际调用.
工作流程:
用户登录移动应用程序
移动应用程序向Web服务器发送用户访问令牌+服务调用
简而言之,移动应用程序不是在进行facebook调用,而是Web服务器.
我的问题是,如果我通过移动应用程序验证用户,我是否可以传递(并存储)用户访问令牌并使用它通过Web服务器拨打facebook?
我正在制作一个基于iOS6社交框架的应用程序...它工作正常但现在几个月后出现了一个奇怪的错误.
我导入的JSON Facebook数据的NSLog到NSDictionary是:
profiledictionary: {
error = {
code = 190;
"error_subcode" = 463;
message = "Error validating access token: Session has expired at unix time 1365610034. The current unix time is 1366032783.";
type = OAuthException;
Run Code Online (Sandbox Code Playgroud)
似乎我的访问令牌已过期,但iOS6社交框架是不是应该自动处理它?
有关如何解决它的任何想法,也避免了未来的问题,所以我可以安全地发布一个真正的应用程序?
我正在使用Facebook PHP SDK来调用相关的API来发布和获取数据.目前我正在数据库中保存用户访问令牌,但它会在60天后过期.如何刷新用户访问令牌?
1.我什么时候需要刷新访问令牌?它到期后还是之前?
2.刷新访问令牌的最佳方法是什么?
3.我的用户是否需要再次登录才能刷新访问令牌?
这是我用来扩展访问令牌的功能.但到期时间保持不变.
public function getExtendedAccessToken($access_token)
{
$token_url="https://graph.facebook.com/oauth/access_token";
$params=array('client_id'=>self :: appId,'client_secret'=>self :: appSecretId,'grant_type'=>'fb_exchange_token','fb_exchange_token'=>$access_token);
$response = $this->curl($token_url,$params);
$response = explode ('=',$response);
$response = explode ('&',$response[1]);
$response = $response[0];
return $response;
}
Run Code Online (Sandbox Code Playgroud) php facebook facebook-graph-api facebook-php-sdk facebook-access-token