【发布时间】:2011-07-31 01:14:53
【问题描述】:
当我通过我的应用登录 Facebook 时,一切正常,但我在墙上发帖时遇到问题。
- (NSString *) postToFBWallStatus:(NSString *) status andSetDelegate: (id) delegate
{
if (! isFBLoggedIn)
{
return @"NotLoggedin";
}
NSString *message = status;
NSLog(@"Appdelegate: postToFBWallStatus:andSetDelegate:");
NSLog(@"to be delegate class: %@",[delegate class]);
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/feed"];
ASIFormDataRequest *newRequest = [ASIFormDataRequest requestWithURL:url];
[newRequest setPostValue:message forKey:@"message"];
[newRequest setPostValue:@"" forKey:@"name"];
[newRequest setPostValue:@"" forKey:@"caption"];
[newRequest setPostValue:@"" forKey:@"description"];
[newRequest setPostValue:@"" forKey:@"link"];
[newRequest setPostValue:@"" forKey:@"picture"];
[newRequest setPostValue:_accessToken forKey:@"access_token"];
[newRequest setDidFinishSelector:@selector(postToWallFinished:)];
[newRequest setDidFailSelector:@selector(postToWallFailed:)];
[newRequest setDelegate:delegate];
[newRequest startAsynchronous];
return @"Loggedin";
}
我在 Facebook 墙上发帖时收到此消息:
error = {
message = "Invalid access token signature.";
type = OAuthException;
};
【问题讨论】:
-
我也遇到了同样的问题。问题是我的数据库正在截断访问令牌,因为我将存储它的列设置为 VARCHAR(100)。事实证明,对于某些访问令牌来说,100 个字符是不够的,所以发送的访问令牌是无效的。
-
如何获取访问令牌的值?
-
您需要在 Facebook 注册以获得 Oauth 密钥,然后用户需要批准该应用程序才能运行。
-
您没有使用 Facebook SDK for iOS 有什么原因吗?
标签: objective-c ios facebook facebook-graph-api