Instagram从iOS签署API调用

使签名的API调用Instagram发布方法跟随用户,像用户的图像等。用户限制为每小时20次。 但是如果我们进行签名API调用,那么用户可以每小时进行60次跟踪。 但我的问题是如何进行签名API调用。 ?

我在Instagram上试过这种方法http://instagram.com/developer/restrict-api-requests/和Make Enforced header enable。并发送X-Insta-Forwarded-For头字段,带有效ID。 但仍然在20后跟随它显示限制错误。 任何人都可以帮助我如何进行签名API调用。

提前致谢。

在搜索了我解决了我的问题后,通过制作我的应用程序签名应用程序:

要为Instagram用户进行签名API调用,需要检查他们的insta App中的复选框。 管理客户。 并且必须遵循Implicit OAuth Grant流程 。

对于All Follow / Likepost类型请求,用户需要添加一个标题:Type as

X-Insta-Forwarded-For – > [IP information]|[Signature]

IP应该是应用程序负载均衡器检测到的客户端远程IP; 签名是,使用SHA256应用HMAC,并在那里附加签名的hex表示。 使用clientSecret作为密钥将IP address作为数据。 然后使用管道连接IP信息和签名 并将其设置为标题字段的值。

我使用以下代码生成签名:

  -(NSString *)signWithKey:(NSString *)key usingData:(NSString *)data { const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding]; const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding]; unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC); NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)]; return [[HMAC.description stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""]; } -(NSString*)getheaderData { NSString *ipString = [self fetchMyIP]; NSString *signature = [self signWithKey:kClientSecret usingData:ipString]; } To set header in iOS: [request setValue:[self getheaderData] forHTTPHeaderField:@"X-Insta-Forwarded-For"]; 

因此,API调用将作为签名API调用发送。