我已经在Facebook开发者控制台中为我的iOS应用程序创建了一个Facebook应用程序,但是当我使用该应用程序id时,即使我得到了成功的响应,它也不会被发布。请在下面找到我的代码。(即使我得到了那个帖子的id )。
但关键是,当我对我现有的Facebook应用程序id(它目前用于我的实时应用程序)执行相同的代码时,这个程序会被发布并运行良好,所以我的假设是,在开发人员控制台中,我必须在Facebook应用程序配置中做一些事情,但我找不到。有人能给我个线索吗?
提前谢谢。
注意:我使用iOS 6社交框架
获取用户方法
- (void)getUserAndShare {
NSLog(@"Getting User");
if(!_accountStore)
_accountStore = [[ACAccountStore alloc] init];
ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[_accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey: @"xxxxxxxxxxxxxx", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError *error) {
if(granted){
NSArray *accounts = [_accountStore accountsWithAccountType:facebookTypeAccount];
_facebookAccount = [accounts lastObject];
NSLog(@"Success account");
[_accountStore renewCredentialsForAccount:_facebookAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error) {
if (error){
}
[self postPhoto:nil];
}];
}
}];
}份额法
-(IBAction)postPhoto{
if(!_accountStore)
_accountStore = [[ACAccountStore alloc] init];
NSDictionary *parameters = @{@"message": @"this is a resource picture 2", ACFacebookAppIdKey: @"xxxxxxxxxxxxxx"};
SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodPOST
URL:[NSURL URLWithString:@"https://graph.facebook.com/me/photos"]
parameters:parameters];
NSData *data = UIImagePNGRepresentation([UIImage imageNamed:@"sec.jpg"]);
[facebookRequest addMultipartData: data
withName:@"source"
type:@"multipart/form-data"
filename:@"msg.jpg"];
facebookRequest.account = _facebookAccount;
[facebookRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
if (error) {
}
else
{
NSLog(@"Post successful");
NSString *dataString = [[NSString alloc] initWithData:responseData encoding:NSStringEncodingConversionAllowLossy];
NSLog(@"Response Data: %@", dataString);
}
}];
}编辑:在调用requestAccessToAccountsWithType时,是否需要请求使用图形API的特殊权限?
发布于 2013-07-31 05:09:55
最后,我让它正常工作,我的假设是正确的:)当我请求访问时,我必须添加新的权限。所以,正如我说的,它在我以前的Facebook应用程序ID中有效,那是因为我已经批准了该应用程序的许可。不管怎么说,对于那些想知道什么是解决办法的人,可以在下面找到,
//Specify App ID and permissions
NSDictionary *options = @{
ACFacebookAppIdKey: @"xxxxxxxxxxxxxxx",
ACFacebookPermissionsKey: @[@"publish_stream", @"publish_actions"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};请求两个新权限:publish_stream和publish_actions
发布于 2013-07-30 18:37:56
我认为问题在于你的MIME类型,问题在这一行:
[facebookRequest addMultipartData: data
withName:@"source"
type:@"multipart/form-data"
filename:@"msg.jpg"];将其改为:
[facebookRequest addMultipartData:data
withName:@"media"
type:@"image/jpeg"
filename:@"msg.jpg"];https://stackoverflow.com/questions/17954302
复制相似问题