gpt4 book ai didi

ios - 使用社交框架Ios发布分数时出错

转载 作者:行者123 更新时间:2023-12-01 19:01:29 25 4
gpt4 key购买 nike

这是我发送新分数的方法:

-(void)sendScore :(int) score : (NSString *)uID : (ACAccount *)ac{
NSString *url =[NSString stringWithFormat:@"https://graph.facebook.com/%@/scores",uID];
NSURL * strURL =[NSURL URLWithString:url];
NSDictionary * parameter =@{@"score": @"10000"};
SLRequest * request =[SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodPOST URL:strURL parameters:parameter];
request.account = _accFB;
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
if (!error) {
NSLog(@"Error: %@",error);
NSString * str = [[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"str: %@",str);
}

}];
}

运行时,显示错误:

{
“message”:“(#200)需要扩展权限:publish_actions”,
“type”:“OAuthException”,
“代码”:200
}

如何添加 publish_actions

最佳答案

您可以随时为 Activity session 请求其他权限。 Facebook 建议,当您的应用程序实际需要它们来完成用户发起的操作时,您要请求权限。另外请注意,您不能一起添加读写权限。

这是请求 Activity session 的publish_actions发布权限的代码-

FB iOS SDK

[FBSession.activeSession requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
__block NSString *alertText;
__block NSString *alertTitle;
if (!error) {
if ([FBSession.activeSession.permissions
indexOfObject:@"publish_actions"] == NSNotFound){
// Permission not granted, tell the user we will not publish
alertTitle = @"Permission not granted";
alertText = @"Your action will not be published to Facebook.";
[[[UIAlertView alloc] initWithTitle:title
message:text
delegate:self
cancelButtonTitle:@"OK!"
otherButtonTitles:nil] show];
} else {
// Permission granted, publish the OG story
[self publishStory];
}

} else {
// There was an error, handle it
// See https://developers.facebook.com/docs/ios/errors/
}
}];

社交框架
-(void)requestPermissions
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
__block ACAccount *facebookAccount = nil;

ACAccountType *facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

// Specify App ID and permissions
NSDictionary *options = @{
ACFacebookAppIdKey: @"MYAPPID",
// READ permissions here (if any)
ACFacebookPermissionsKey: @[@"email"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};

[accountStore requestAccessToAccountsWithType:facebookAccountType
options:options completion:^(BOOL granted, NSError *e)
{
if (granted) {

NSDictionary *options2 = @{
ACFacebookAppIdKey: @"MYAPPID",
// PUBLISH permissions here
ACFacebookPermissionsKey: @[@"publish_actions"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
[accountStore requestAccessToAccountsWithType:facebookAccountType options:options2 completion:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *accounts = [accountStore accountsWithAccountType:facebookAccountType];

facebookAccount = [accounts lastObject];
}
else {
NSLog(@"Access denied 2");
NSLog(@"%@", [error description]);
}
}];
} else {
NSLog(@"Error: %@", [e description]);
NSLog(@"Access denied");
}
}];
}

关于ios - 使用社交框架Ios发布分数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com