如何检查Instagram用户名的可用性

时间:2016-05-15 03:34:34

标签: api delphi instagram

如何在Instagram中检查用户名是否可用,我尝试使用Get请求并捕获404错误,它有时不起作用,还有另一种方法吗?一个可靠的?

我尝试使用object pascal

 try
        lHTTP.Get('http://instagram.com/'+lPath, TStream(nil));
      except
        on E: EIdHTTPProtocolException do
        begin
          if E.ErrorCode = 404 then
          begin
            TThread.Synchronize(nil,
              procedure
              begin
                Form1.Memo2.Lines.Add(lPath);
                 Label2.Text:= IntTosTr(Memo2.Lines.Count);
              end
            );
          end;
          Exit;
        end;
      end;

但有时,当它返回404时,我去检查用户是否存在于Instagram中,但我无法找到它并且我无法向用户注册,它说用户不可用!

是否有instagram api功能,我可以用它来检查用户是否可用? 我意识到有些帐户已关闭!如何区分它是关闭还是采取或可用?

更新

我想也许这可能是答案,但我不知道如何在delphi中使用它,How do I check if a username is taken with parse.com when all User ACL:Public read/write is disable?

2 个答案:

答案 0 :(得分:1)

这很脏。使用这些说明自行完成代码

获取此网址(获取Cookie)

  

https://www.instagram.com/accounts/web_create_ajax/attempt/

再次发送到此网址

  

https://www.instagram.com/accounts/web_create_ajax/attempt/

带有这些值

  • referer:https://www.instagram.com/
  • 名为" x-csrftoken"的新(自定义)标题,来自Cookie" csrftoken"的值复制你从GET收到的

POST值

  • email = ...一些随机电子邮件在Instagram上不存在......
  • 密码= ...一些强密码......
  • username = ...您的名字......
  • first_name = ... empty

如果可以创建帐户,您将获得这样的结果

  

{..." status":" ok"," username_suggestions":[" ..."],&# 34; account_created":false}

或者如果不是

  

{..." status":" ok"," username_suggestions":[" ..."],&# 34;错误":{"用户名":["抱歉,该用户名被占用。"]}," account_created":false}

答案 1 :(得分:0)

您的API调用示例包含错误。

当我尝试

https://api.instagram.com/v1/users/search?q=rn0&access_token=xxxxxxxxxxxxxx

服务器回答

{"meta": {"error_type": "OAuthAccessTokenException", "code": 400, 
  "error_message": "The access_token provided is invalid."}}

因为我没有access_token,所以我不能测试更多,但也许它可以让你开始