使用AFNetworking异步上传文件到Strava V3 API并上传文件

蚂蚁

我想从iOS发布活动到Strava。

Strava文档(http://strava.github.io/api/v3/uploads/#post-file)具有curl示例,如下所示:

示例请求

$ curl -X POST https://www.strava.com/api/v3/uploads \
    -F access_token=83ebeabdec09f6670863766f792ead24d61fe3f9 \
    -F activity_type=ride \
    -F [email protected] \
    -F data_type=fit

在这种情况下,文件test.fit是要发布的活动。

我正在尝试使用AFNetworking异步发布。我有以下测试代码:

NSURL *url = [NSURL URLWithString:@"https://www.strava.com"];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];

NSData *fileData = [NSData dataWithContentsOfFile:filename];

AFOAuthCredential *credential = [AFOAuthCredential retrieveCredentialWithIdentifier:kStravaTokenStored];

NSString *accessToken = credential.accessToken;

NSDictionary *parameters = @{@"access_token": accessToken, @"activity_type" : @"ride",@"data_type" : @"fit", @"name" : @"Test", @"stationary" : @"1" };

NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/api/v3/uploads" parameters:parameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:fileData name:@"Test" fileName:@"Test.fit" mimeType:@"application/octet-stream"];
}];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

    NSLog(@"succss %@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"failure %@ \n\n %@", error, operation);

}];

[httpClient enqueueHTTPRequestOperation:operation];

目前,我看到以下错误:

错误域= AFNetworkingErrorDomain代码= -1011“(200-299)中的预期状态代码,得到400” UserInfo = 0x9b62300 {NSLocalizedRecoverySuggestion = {“ message”:“ Bad Request”,“ errors”:[{“ resource”:“ Upload “,” field“:”数据“,”代码“:”空“}]},

有人知道我在这里想念什么吗?

谢谢蚂蚁

思维船

它一定要是

[formData appendPartWithFileData:fileData name:@"file" fileName:@"Test.fit" mimeType:@"application/octet-stream"]

或不?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用AFNetworking异步上传文件到Strava V3 API的文件

来自分类Dev

使用PHP通过API v3将活动上传到Strava

来自分类Dev

使用Scribe上传Strava V3 API(在Google App Engine上)

来自分类Dev

在 D3.js V5 中解析并上传一个 csv 文件

来自分类Dev

获取/生成Google Drive API v3中上传文件的共享链接

来自分类Dev

使用FFMPEG转换文件并上传到AWS S3 Node.js

来自分类Dev

如何使用 PGP 加密文件并上传到 S3 AWS

来自分类Dev

使用Python“请求”登录并上传文件

来自分类Dev

如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

来自分类Dev

YouTube Data API v3直接表格上传

来自分类Dev

YouTube v3 API上传到频道

来自分类Dev

YouTube数据API v3视频上传错误

来自分类Dev

使用OneDrive API创建App文件夹并上传文件

来自分类Dev

使用IDS V3在线将文件上传到Quickbooks

来自分类Dev

terraform生成文件,压缩并上传到s3

来自分类Dev

通过URL访问上传的图像文件的正确方法是什么-Google Drive API v3

来自分类Dev

提交表单并上传请求文件

来自分类Dev

如何读取文件数据并上传?

来自分类Dev

使用Servlet创建文件夹并上传文件

来自分类Dev

如何使用YouTube API V3?

来自分类Dev

Laravel Google API客户端获取刷新令牌并上传文件

来自分类Dev

在workfront-api中创建并上传到文件夹

来自分类Dev

文件系统上的Youtube Data API v3

来自分类Dev

如何从 google drive api v3 获取文件列表?

来自分类Dev

驱动 API v3 中的 PUT 文件

来自分类Dev

Drive API V3:使用 Google Apps 脚本的多块可恢复上传文件大小错误(缺少 2 个字节)

来自分类Dev

使用 php,我如何使用 youtube v3 api 在我的网站上上传 youtube 视频?

来自分类Dev

获取请求strava v3 api python的活动

来自分类Dev

获取请求strava v3 api python的活动

Related 相关文章

  1. 1

    使用AFNetworking异步上传文件到Strava V3 API的文件

  2. 2

    使用PHP通过API v3将活动上传到Strava

  3. 3

    使用Scribe上传Strava V3 API(在Google App Engine上)

  4. 4

    在 D3.js V5 中解析并上传一个 csv 文件

  5. 5

    获取/生成Google Drive API v3中上传文件的共享链接

  6. 6

    使用FFMPEG转换文件并上传到AWS S3 Node.js

  7. 7

    如何使用 PGP 加密文件并上传到 S3 AWS

  8. 8

    使用Python“请求”登录并上传文件

  9. 9

    如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

  10. 10

    YouTube Data API v3直接表格上传

  11. 11

    YouTube v3 API上传到频道

  12. 12

    YouTube数据API v3视频上传错误

  13. 13

    使用OneDrive API创建App文件夹并上传文件

  14. 14

    使用IDS V3在线将文件上传到Quickbooks

  15. 15

    terraform生成文件,压缩并上传到s3

  16. 16

    通过URL访问上传的图像文件的正确方法是什么-Google Drive API v3

  17. 17

    提交表单并上传请求文件

  18. 18

    如何读取文件数据并上传?

  19. 19

    使用Servlet创建文件夹并上传文件

  20. 20

    如何使用YouTube API V3?

  21. 21

    Laravel Google API客户端获取刷新令牌并上传文件

  22. 22

    在workfront-api中创建并上传到文件夹

  23. 23

    文件系统上的Youtube Data API v3

  24. 24

    如何从 google drive api v3 获取文件列表?

  25. 25

    驱动 API v3 中的 PUT 文件

  26. 26

    Drive API V3:使用 Google Apps 脚本的多块可恢复上传文件大小错误(缺少 2 个字节)

  27. 27

    使用 php,我如何使用 youtube v3 api 在我的网站上上传 youtube 视频?

  28. 28

    获取请求strava v3 api python的活动

  29. 29

    获取请求strava v3 api python的活动

热门标签

归档