Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无效的Facebook访问令牌_Iphone_Facebook - Fatal编程技术网

Iphone 无效的Facebook访问令牌

Iphone 无效的Facebook访问令牌,iphone,facebook,Iphone,Facebook,我正在开发一个将视频发布到Facebook的应用程序。 我已经在Facebook上注册了这个应用程序,收到了APIkey、APIsecret,该应用程序成功通过了身份验证并收到了访问令牌。以下是我的身份验证代码: m_Facebook = [[Facebook alloc] init]; [m_Facebook logout:self]; m_FacebookUploader = [[FBVideoUpload alloc]init]; NSArray *permissions = [NSA

我正在开发一个将视频发布到Facebook的应用程序。 我已经在Facebook上注册了这个应用程序,收到了APIkey、APIsecret,该应用程序成功通过了身份验证并收到了访问令牌。以下是我的身份验证代码:

m_Facebook = [[Facebook alloc] init];
[m_Facebook logout:self];
m_FacebookUploader = [[FBVideoUpload alloc]init]; 
NSArray *permissions =  [NSArray arrayWithObjects:@"publish_stream", @"offline_access",@"read_stream",nil];
m_Facebook.forceOldStyleAuth = YES;
[m_Facebook authorize:kApiKey permissions:permissions delegate:self];
但是,当尝试上载视频时,FBVideoUpload类会尝试将访问令牌分为几个部分:

- (NSString*) sessionID
{
    NSArray *components = [accessToken componentsSeparatedByString:@"|"];
    NSLog(@"components: %@", components);
    return [components count] < 2 ? nil : [components objectAtIndex:1];
}
(我将一些符号替换为“*”)

以下是我上传视频的代码:

[m_FacebookUploader setApiKey:kApiKey];
[m_FacebookUploader setAccessToken:m_Facebook.accessToken];
[m_FacebookUploader setAppSecret:kApiSecret];
[m_FacebookUploader startUploadWithURL:url params:params delegate:self];
我在这里收到一个错误:

if ([self sessionID] == nil) {
        NSLog(@"Unable to retrieve session key from the access token.");
        return;
    }

这并不奇怪,因为sessionID确实返回nil。

无论您使用什么库来进行视频上传,都使用了一些过时的逻辑来处理上传。将会话密钥拆分的整个方法不需要存在。只需将您从FB获得的访问令牌用于您的视频上传请求。另外,请确保您使用的是我们最新的SDK

if ([self sessionID] == nil) {
        NSLog(@"Unable to retrieve session key from the access token.");
        return;
    }