我不断采取以下步骤,我知道有一种方法可以实现自动化:
有没有办法编写脚本(可能在PHP中),它执行以下操作:
我已经看过几个关于这个问题的帖子,但到目前为止似乎没有什么能帮助我.基本上,我正在编写一个iOS应用程序并尝试使用Graph API将照片发布到Facebook相册.首先从服务器下载图像数据,然后将其发布到Facebook.我正在使用ASIFormDataRequest类和url https://graph.facebook.com/MY_ALBUM_ID/photos,但我一直收到以下错误:
error = {
message = "(#1) An unknown error occurred";
type = OAuthException;
};
Run Code Online (Sandbox Code Playgroud)
我的请求看起来像这样:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
self.photoRequest = request;
[request setDelegate:self];
[request setPostValue:token forKey:@"access_token"];
[request setPostValue:message forKey:@"message"];
[request setTimeOutSeconds:240];
[request setRequestMethod:@"POST"];
UIImage *image = [UIImage imageWithData:data];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
[request setData:imageData forKey:@"source"];
dispatch_async(dispatch_get_main_queue(), ^{
[request startAsynchronous];
});
});
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我使用完全相同的方法将照片上传到我的服务器,用于应用程序的不同部分,一切正常.我甚至已经将我要发送到Facebook的照片上传到我的服务器,看看数据是否正确发布.一切都好了.
我已经读过Facebook有时可以吐出我看到的错误,如果它有图像格式的问题,但错误本身就很模糊.我知道我的access_token是有效的.我正在向Facebook发出的所有其他请求都运行正常.
有什么想法吗?
我知道如何使用标准API调用保存图像到相机胶卷.我也知道没有相机的设备会保存到照片库中.
对于带摄像头的设备,如何将UIImage保存到摄像头卷的照片库INSTEAD?
我对android dev非常新...我想知道在android中隐藏图像的最佳方法是什么.我有一个应用程序,我拍照,我想要那张照片,只能在我的应用程序内显示.
现在我试图允许用户在我的应用程序中拍照而不使用UIImagePickerController.我正在使用AVCaptureSession和所有相关的类来加载相机提要作为我在其中一个视图控制器上的全屏视图的子图层.代码可以工作,但遗憾的是相机加载速度很慢.通常需要2-3秒.这是我的代码:
session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetMedium;
if ([session canSetSessionPreset:AVCaptureSessionPresetHigh])
//Check size based configs are supported before setting them
[session setSessionPreset:AVCaptureSessionPresetHigh];
[session setSessionPreset:AVCaptureSessionPreset1280x720];
CALayer *viewLayer = self.liveCameraFeed.layer;
//NSLog(@"viewLayer = %@", viewLayer);
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = viewLayer.bounds;
[viewLayer addSublayer:captureVideoPreviewLayer];
AVCaptureDevice *device;
if(isFront)
{
device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
}
else
{
device = [self frontCamera];
}
AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
AVCaptureDeviceInput * audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice error:nil];
[session addInput:audioInput];
NSError *error = nil;
input = …Run Code Online (Sandbox Code Playgroud) 我录制的视频时间有限.现在我想获取所有视频帧.我使用下面的代码,并使用它,我能够得到帧,但我没有得到所有的视频帧.重复3到4帧然后我有一个不同的帧.但是众所周知,我们可以在一秒钟内获得25-30帧来显示流畅的视频.如何获得所有帧.
for (int i = 0; i < 30; i++) {
Bitmap bArray = mediaMetadataRetriever.getFrameAtTime(
1000000 * i,
MediaMetadataRetriever.OPTION_CLOSEST);
savebitmap(bArray, 33333 * i);
}
Run Code Online (Sandbox Code Playgroud)
我不想使用NDK.我得到这个链接不知道应该是什么值"argb8888".我在这里得到错误.任何人都可以解释如何做到这一点. 从Android中的视频图像中获取帧
主要问题:
我的"技术"问题:
使用CURL检索到期日期:
curl -i -X HEAD https://scontent-b.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/q82/p320x320/10458607_4654638300864_4316534570262772059_n.jpg?oh=9d34386036754232b79c2208c1075def&oe=54BE4EE2
返回前一分钟: Mon, 05 Jan 2015 01:34:28 GMT
现在再次调用它返回: Mon, 05 Jan 2015 01:35:27 GMT
两次"Cache-Control"都返回相同的内容: Cache-Control: max-age=1209600
至今:
我的问题是:
可能的解决方案 ?
在提供任何CDN URL之前,请检查Facebook以获取最新的URL
〜>会慢慢减慢我的要求
有后台工作续订URL和到期日期
〜>当工作没有"抓住"它们时,可能会有过期的照片
将照片下载到我自己的CDN
〜>不是我猜的好习惯
更新:〜>也许Tinder实际上将用户的图片缓存在他们自己的CDN上:https://gist.github.com/rtt/10403467所以看起来facebook有点好吗?
如何在Twitter应用程序中显示用户照片,其中照片流在键盘下方,如下所示:



我正在尝试使用带有.addResourceWithType和Swift 2的iOS 9 PHAssetCreationRequest使用自定义文件名保存照片。它可以保存照片,但未使用我在PHAssetResourceCreationOptions选项中指定的文件名。我想使用自定义文件名,因为我需要在照片中存储一个自定义字符串,该字符串指示照片的“类型”。目前,我正在将“类型”及其localIdentifier存储在Core Data存储中,但是,如果卸载了该应用程序,Core Data存储也会被存储,因此我正在寻找照片中保留的其他方法。这是我正在使用的代码:
var assetPlaceholder:PHObjectPlaceholder!
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
if #available(iOS 9.0, *) {
let options = PHAssetResourceCreationOptions()
options.originalFilename = frameType + "_" + origFilename
let newcreation:PHAssetCreationRequest = PHAssetCreationRequest.creationRequestForAsset()
newcreation.addResourceWithType(PHAssetResourceType.Photo, data:UIImageJPEGRepresentation(image, 1)!, options: options)
assetPlaceholder = newcreation.placeholderForCreatedAsset
} else { // < ios 9
// Fallback on earlier versions
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
assetPlaceholder = assetChangeRequest.placeholderForCreatedAsset
}
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: assetCollection)
albumChangeRequest!.addAssets([assetPlaceholder])
}, completionHandler: {(success:Bool, error:NSError?) in
Run Code Online (Sandbox Code Playgroud) 下面的谓词应该只获取所有的截图,这工作得很好.
options.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) != 0", PHAssetMediaSubtypePhotoScreenshot];
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试仅使用follwing谓词排除屏幕截图,则会排除所有图像
options.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) = 0", PHAssetMediaSubtypePhotoScreenshot];
Run Code Online (Sandbox Code Playgroud)
我试图做的就是从资产获取中排除screeshots.
这是已知的错误还是我错过了什么?