我在哪里可以找到 "documentary evidence" App Store Approval for download PUBLIC Facebook Videos?
Where can I find "documentary evidence" for App Store Approval for download PUBLIC Facebook Videos?
我为 iOS 开发了一个应用程序,允许您从 Facebook 下载 public 视频。该应用程序不允许下载受版权保护的视频。
该应用程序的目的是使用 WhatsApp 的 API.
通过 WhatsApp 共享视频
我向 Apple 提交了申请,但审核小组已拒绝并报告以下说明:
8.6 - Apps that include the ability to download music or video content from third party sources (e.g. YouTube, SoundCloud, Vimeo, etc) without explicit authorization from those sources will be rejected
8.6 Details
We found that your app allows users to download music or video content without authorization from the relevant third-party sources.
Next Steps
Please provide documentary evidence of your rights to allow music or video content download from third-party sources. If you do not have the requested permissions, please remove the music or video download functionality from your app.
那么,我在哪里可以找到 "documentary evidence"?
我认为下载视频 public 且不受版权保护是可以接受的,该应用程序不会下载任何受版权保护的视频。如何向Apple采购必要的文件?
这是我申请的简单程序:
- 通过 Facebook 登录:应用程序因此具有访问令牌。
- 检查 Link:检查 link 是否引用 Facebook 上的视频。
下载视频:使用 Graph Api 应用程序获取视频的来源 link。如果视频不是 public 或受版权保护,应用程序将禁止下载并 returns 出错。我使用的代码是:
-(void)requestToFbWithGraphAPI{
isDownloanding = YES;
internetReach = [Reachability reachabilityForInternetConnection];
wifiReach = [Reachability reachabilityForLocalWiFi];
if(([self check:internetReach])||([self check:wifiReach])){
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *urlString;
NSString *token;
NSURL *url;
token = [[FBSDKAccessToken currentAccessToken] tokenString];
urlString = [NSString stringWithFormat:@"https://graph.facebook.com/v2.3/%@?access_token=%@", videoId, token];
NSString *encodedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
url = [NSURL URLWithString:encodedURLString];
NSData* data = [NSData dataWithContentsOfURL:url];
if(data != nil){
[self performSelectorOnMainThread:@selector(handleFbResponse:)
withObject:data waitUntilDone:YES];
isLastAPrivacyViolation = NO;
}else{
dispatch_async(dispatch_get_main_queue(), ^{
statusLabel.text = NSLocalizedString(@"The privacy of the video set by the\nauthor or the copyright does not allow downloading the video.",nil);
statusLabel.numberOfLines = 2;
isLastAPrivacyViolation = YES;
[UIView animateWithDuration: 1.2
delay: 0
options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
animations:^{
statusLabel.backgroundColor = [UIColor colorWithRed:231.0/255.0 green:76.0/255.0 blue:60.0/255.0 alpha:1.0];
statusLabel.frame = CGRectMake(0, -40, SCREEN_WIDTH, 40*2);
}
completion:^(BOOL finished) {
[NSTimer scheduledTimerWithTimeInterval: 2.0 target: self
selector: @selector(resetFromPrivacyNotAmmitted) userInfo: nil repeats: NO];
}
];
});
isDownloanding = NO;
}
});
}else{
isDownloanding = NO;
}
}
-(void)handleFbResponse:(NSData *)responseDataFb {
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:responseDataFb
options:kNilOptions error:nil];
urlStringSourceVideo = [json objectForKey:@"source"];
descriptionVideo = [json objectForKey:@"description"];
urlStringPictureVideo = [json objectForKey:@"picture"];
NSDictionary *fromDict = [json objectForKey:@"from"];
nameVideo = [fromDict objectForKey:@"name"];
if (urlStringSourceVideo) {
[self downloadVideo];
}
}
-(void)downloadVideo{
statusLabel.text = NSLocalizedString(@"Download Started", nil);
[self showCancelRequestButton];
// Create the request.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStringSourceVideo]];
conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
8.6 部分声明:“未经这些来源的明确授权将被拒绝”,这意味着您将需要获得明确授权。
根据美国现行法律,material 无需版权声明即可获得版权保护。因此,需要明确许可才能确保没有版权 and/or 允许使用。
书面证据将是所有者使用 material 的书面许可。是否获得此许可取决于用户(您)。或者,网站上或与 material 相关的信息可能会说明允许的用途。
Public 可用性并不意味着没有版权或 material 可以在未经所有者许可的情况下使用。
我为 iOS 开发了一个应用程序,允许您从 Facebook 下载 public 视频。该应用程序不允许下载受版权保护的视频。 该应用程序的目的是使用 WhatsApp 的 API.
通过 WhatsApp 共享视频我向 Apple 提交了申请,但审核小组已拒绝并报告以下说明:
8.6 - Apps that include the ability to download music or video content from third party sources (e.g. YouTube, SoundCloud, Vimeo, etc) without explicit authorization from those sources will be rejected
8.6 Details
We found that your app allows users to download music or video content without authorization from the relevant third-party sources.
Next Steps
Please provide documentary evidence of your rights to allow music or video content download from third-party sources. If you do not have the requested permissions, please remove the music or video download functionality from your app.
那么,我在哪里可以找到 "documentary evidence"? 我认为下载视频 public 且不受版权保护是可以接受的,该应用程序不会下载任何受版权保护的视频。如何向Apple采购必要的文件?
这是我申请的简单程序:
- 通过 Facebook 登录:应用程序因此具有访问令牌。
- 检查 Link:检查 link 是否引用 Facebook 上的视频。
下载视频:使用 Graph Api 应用程序获取视频的来源 link。如果视频不是 public 或受版权保护,应用程序将禁止下载并 returns 出错。我使用的代码是:
-(void)requestToFbWithGraphAPI{ isDownloanding = YES; internetReach = [Reachability reachabilityForInternetConnection]; wifiReach = [Reachability reachabilityForLocalWiFi]; if(([self check:internetReach])||([self check:wifiReach])){ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSString *urlString; NSString *token; NSURL *url; token = [[FBSDKAccessToken currentAccessToken] tokenString]; urlString = [NSString stringWithFormat:@"https://graph.facebook.com/v2.3/%@?access_token=%@", videoId, token]; NSString *encodedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; url = [NSURL URLWithString:encodedURLString]; NSData* data = [NSData dataWithContentsOfURL:url]; if(data != nil){ [self performSelectorOnMainThread:@selector(handleFbResponse:) withObject:data waitUntilDone:YES]; isLastAPrivacyViolation = NO; }else{ dispatch_async(dispatch_get_main_queue(), ^{ statusLabel.text = NSLocalizedString(@"The privacy of the video set by the\nauthor or the copyright does not allow downloading the video.",nil); statusLabel.numberOfLines = 2; isLastAPrivacyViolation = YES; [UIView animateWithDuration: 1.2 delay: 0 options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction) animations:^{ statusLabel.backgroundColor = [UIColor colorWithRed:231.0/255.0 green:76.0/255.0 blue:60.0/255.0 alpha:1.0]; statusLabel.frame = CGRectMake(0, -40, SCREEN_WIDTH, 40*2); } completion:^(BOOL finished) { [NSTimer scheduledTimerWithTimeInterval: 2.0 target: self selector: @selector(resetFromPrivacyNotAmmitted) userInfo: nil repeats: NO]; } ]; }); isDownloanding = NO; } }); }else{ isDownloanding = NO; } } -(void)handleFbResponse:(NSData *)responseDataFb { NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseDataFb options:kNilOptions error:nil]; urlStringSourceVideo = [json objectForKey:@"source"]; descriptionVideo = [json objectForKey:@"description"]; urlStringPictureVideo = [json objectForKey:@"picture"]; NSDictionary *fromDict = [json objectForKey:@"from"]; nameVideo = [fromDict objectForKey:@"name"]; if (urlStringSourceVideo) { [self downloadVideo]; } } -(void)downloadVideo{ statusLabel.text = NSLocalizedString(@"Download Started", nil); [self showCancelRequestButton]; // Create the request. NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStringSourceVideo]]; conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; }
8.6 部分声明:“未经这些来源的明确授权将被拒绝”,这意味着您将需要获得明确授权。
根据美国现行法律,material 无需版权声明即可获得版权保护。因此,需要明确许可才能确保没有版权 and/or 允许使用。
书面证据将是所有者使用 material 的书面许可。是否获得此许可取决于用户(您)。或者,网站上或与 material 相关的信息可能会说明允许的用途。
Public 可用性并不意味着没有版权或 material 可以在未经所有者许可的情况下使用。